Avoid OSG setting array binding from multiple threads

pull/3044/head
AnyOldName3 4 years ago
parent 7b095e8701
commit eb80c997b8

@ -186,7 +186,7 @@ namespace Terrain
int vertexCount = numVerts * numVerts;
osg::ref_ptr<osg::Vec2Array> uvs (new osg::Vec2Array);
osg::ref_ptr<osg::Vec2Array> uvs (new osg::Vec2Array(osg::Array::BIND_PER_VERTEX));
uvs->reserve(vertexCount);
for (unsigned int col = 0; col < numVerts; ++col)

@ -197,8 +197,7 @@ osg::ref_ptr<osg::Node> ChunkManager::createChunk(float chunkSize, const osg::Ve
bool useCompositeMap = chunkSize >= mCompositeMapLevel;
unsigned int numUvSets = useCompositeMap ? 1 : 2;
for (unsigned int i=0; i<numUvSets; ++i)
geometry->setTexCoordArray(i, mBufferCache.getUVBuffer(numVerts));
geometry->setTexCoordArrayList(osg::Geometry::ArrayList(numUvSets, mBufferCache.getUVBuffer(numVerts)));
geometry->createClusterCullingCallback();

Loading…
Cancel
Save