[osg-users] Heap corruption
Julie Green
laroux92 at mail.ru
Thu Sep 3 05:06:07 PDT 2015
Hi,
I'm trying to draw a quadric surface, which is modifying each frame, and I'm getting a heap corruption error. I guess the problem is in calculating function, or in update callback, but can't find it in the debugger.
Code:
void SurfaceCalculationThread::reCalculateSurface()
{
mutex.lock();
float x, y, z;
int i = 0;
float t=time->elapsedTime();
for (x = -polygonLength; x <= polygonLength; x += 1.0f)
{
for (y = -polygonLength; y <= polygonLength; y += 1.0f)
{
(*oldVertexArray)[i].set((*newVertexArray)[i]);
z = computeZ(x, y, t);
(*newVertexArray)[i].set(osg::Vec3f(x, y, z));
i++;
}
}
geometry->setVertexArray(oldVertexArray);
geometry->setUpdateCallback(new UpdateSurfaceCallback(conditionVariable));
osgUtil::SmoothingVisitor *smoothingVisitor = new osgUtil::SmoothingVisitor();
smoothingVisitor->smooth(*geometry);
smoothingVisitor->setName("normal");
conditionVariable->wait(&mutex);
mutex.unlock();
}
void UpdateSurfaceCallback::operator()(osg::Node *node, osg::NodeVisitor *nv)
{
traverse(node, nv);
conditionVariable->wakeAll();
};
Thanks for your help!
Cheers,
Julie
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=65007#65007
More information about the osg-users
mailing list