[osg-users] Questions about Geometry implementation details
usenet04 at rk-se.de
Thu Oct 18 23:40:34 PDT 2007
Robert Osfield schrieb:
> On 10/19/07, Ulrich Hertlein <u.hertlein at sandbox.de> wrote:
>> Hello Christian,
>> Quoting Christian Muschick <christian.muschick at gmail.com>:
>>> My last request concerning this question didn't get any reply, so let me
>>> try this reformulated version:
>>> osg::Array* array = *vitr;
>>> if (!array->getVertexBufferObject()) vbo =
>>> array->getVertexBufferObject(); ///< This will only set vbo to NULL!?
>>> if (!vbo) vbo = new osg::VertexBufferObject;
>>> In the loop, vbo will never get a value different from the null-pointer.
>>> Is this on purpose? Did I miss something entirely?
>> This certainly looks like a type to me too (copy-and-paste anti-pattern).
>> I assume it should read 'if(array->getVertexBufferObject())...' so that if the
>> array has a VBO associated it's used.
>> But I guess in the end Robert has to check that.
> I'm rather lost on this topic as I've just spotted this single email
> on its own, which bit of OSG code are we talking about?
from the original post:
In Geometry.cpp, there are several lines of code that don't make sense
to me. More precisely, the conditions in a few if-statements seem to be
As an example, in Geometry::getOrCreateVertexBuffer, it says
osg::VertexBufferObject* vbo = 0;
for(vitr = arrayList.begin();
vitr != arrayList.end() && !vbo;
osg::Array* array = *vitr;
if (!array->getVertexBufferObject()) vbo =
array->getVertexBufferObject(); ///< This will only set vbo to NULL!?
if (!vbo) vbo = new osg::VertexBufferObject;
More information about the osg-users