Also fix for some objects randomly disappearing until they're selected again.master
parent
11afd7f86a
commit
b0fefd62ad
|
|
@ -573,7 +573,6 @@ void LLFace::renderSelected(LLViewerTexture *imagep, const LLColor4& color)
|
|||
if (LLGLTFMaterial* gltf_mat = te->getGLTFRenderMaterial())
|
||||
{
|
||||
vertex_buffer = mVertexBufferGLTF.get();
|
||||
vertex_buffer->unmapBuffer();
|
||||
}
|
||||
}
|
||||
// Draw the selection marker using the correctly chosen vertex buffer
|
||||
|
|
@ -1220,7 +1219,8 @@ bool LLFace::getGeometryVolume(const LLVolume& volume,
|
|||
mVertexBufferGLTF = new LLVertexBuffer(mVertexBuffer->getTypeMask());
|
||||
}
|
||||
|
||||
// Clone the existing vertex buffer into the temporary one
|
||||
// Clone the existing vertex buffer into the temporary one
|
||||
// TODO: factor out the need for mVertexBufferGLTF and make selection highlight shader work with the existing vertex buffer
|
||||
mVertexBuffer->clone(*mVertexBufferGLTF);
|
||||
|
||||
// Recursive call the same function with the argument rebuild_for_gltf set to true
|
||||
|
|
@ -1228,6 +1228,7 @@ bool LLFace::getGeometryVolume(const LLVolume& volume,
|
|||
mVertexBufferGLTF.swap(mVertexBufferGLTF, mVertexBuffer);
|
||||
getGeometryVolume(volume, face_index, mat_vert_in, mat_norm_in, index_offset, force_rebuild, no_debug_assert, true);
|
||||
mVertexBufferGLTF.swap(mVertexBufferGLTF, mVertexBuffer);
|
||||
mVertexBufferGLTF->unmapBuffer();
|
||||
}
|
||||
else if (!tep->isSelected() && mVertexBufferGLTF.notNull())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -5765,9 +5765,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
|
|||
continue;
|
||||
}
|
||||
|
||||
if (facep->hasGeometry() &&
|
||||
(rigged || // <-- HACK FIXME -- getPixelArea might be incorrect for rigged objects
|
||||
facep->getPixelArea() > FORCE_CULL_AREA)) // <-- don't render tiny faces
|
||||
if (facep->hasGeometry())
|
||||
{
|
||||
cur_total += facep->getGeomCount();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue