mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-09 23:16:00 -06:00
Renamed functions in effect generator and use cached effects instead of uncached
This commit is contained in:
parent
b9b7d77fc6
commit
fa622acb72
@ -124,7 +124,7 @@ void RivFemPartPartMgr::generatePartGeometry(RivFemPartGeometryGenerator& geoBui
|
||||
|
||||
// Set default effect
|
||||
caf::SurfaceEffectGenerator geometryEffgen(cvf::Color4f(cvf::Color3f::WHITE), caf::PO_1);
|
||||
cvf::ref<cvf::Effect> geometryOnlyEffect = geometryEffgen.generateEffect();
|
||||
cvf::ref<cvf::Effect> geometryOnlyEffect = geometryEffgen.generateCachedEffect();
|
||||
part->setEffect(geometryOnlyEffect.p());
|
||||
part->setEnableMask(surfaceBit);
|
||||
m_surfaceFaces = part;
|
||||
@ -154,7 +154,7 @@ void RivFemPartPartMgr::generatePartGeometry(RivFemPartGeometryGenerator& geoBui
|
||||
|
||||
cvf::ref<cvf::Effect> eff;
|
||||
caf::MeshEffectGenerator effGen(prefs->defaultGridLineColors());
|
||||
eff = effGen.generateEffect();
|
||||
eff = effGen.generateCachedEffect();
|
||||
|
||||
// Set priority to make sure fault lines are rendered first
|
||||
part->setPriority(10);
|
||||
@ -186,7 +186,7 @@ void RivFemPartPartMgr::updateCellColor(cvf::Color4f color)
|
||||
|
||||
// Set default effect
|
||||
caf::SurfaceEffectGenerator geometryEffgen(color, caf::PO_1);
|
||||
cvf::ref<cvf::Effect> geometryOnlyEffect = geometryEffgen.generateEffect();
|
||||
cvf::ref<cvf::Effect> geometryOnlyEffect = geometryEffgen.generateCachedEffect();
|
||||
|
||||
if (m_surfaceFaces.notNull()) m_surfaceFaces->setEffect(geometryOnlyEffect.p());
|
||||
|
||||
@ -206,7 +206,7 @@ void RivFemPartPartMgr::updateCellColor(cvf::Color4f color)
|
||||
if (m_surfaceFaces.notNull())
|
||||
{
|
||||
caf::MeshEffectGenerator effGen(prefs->defaultGridLineColors());
|
||||
eff = effGen.generateEffect();
|
||||
eff = effGen.generateCachedEffect();
|
||||
m_surfaceGridLines->setEffect(eff.p());
|
||||
}
|
||||
}
|
||||
|
@ -368,7 +368,7 @@ void RivFaultPartMgr::updatePartEffect()
|
||||
caf::SurfaceEffectGenerator geometryEffgen(m_defaultColor, caf::PO_1);
|
||||
geometryEffgen.setCullBackfaces(faceCullingMode());
|
||||
|
||||
cvf::ref<cvf::Effect> geometryOnlyEffect = geometryEffgen.generateEffect();
|
||||
cvf::ref<cvf::Effect> geometryOnlyEffect = geometryEffgen.generateCachedEffect();
|
||||
|
||||
if (m_nativeFaultFaces.notNull())
|
||||
{
|
||||
@ -387,7 +387,7 @@ void RivFaultPartMgr::updatePartEffect()
|
||||
|
||||
cvf::ref<cvf::Effect> eff;
|
||||
caf::MeshEffectGenerator faultEffGen(prefs->defaultFaultGridLineColors());
|
||||
eff = faultEffGen.generateEffect();
|
||||
eff = faultEffGen.generateCachedEffect();
|
||||
|
||||
if (m_nativeFaultGridLines.notNull())
|
||||
{
|
||||
@ -513,7 +513,7 @@ void RivFaultPartMgr::createLabelWithAnchorLine(const cvf::Part* part)
|
||||
m_faultLabelLinePart->updateBoundingBox();
|
||||
|
||||
caf::MeshEffectGenerator gen(m_rimFault->faultColor());
|
||||
cvf::ref<cvf::Effect> eff = gen.generateEffect();
|
||||
cvf::ref<cvf::Effect> eff = gen.generateCachedEffect();
|
||||
|
||||
m_faultLabelLinePart->setEffect(eff.p());
|
||||
}
|
||||
@ -676,13 +676,13 @@ void RivFaultPartMgr::updateNNCColors(RimEclipseCellColors* cellResultColors)
|
||||
{
|
||||
// Move NNC closer to camera to avoid z-fighting with grid surface
|
||||
caf::ScalarMapperEffectGenerator nncEffgen(mapper, caf::PO_NEG_LARGE);
|
||||
nncEffect = nncEffgen.generateEffect();
|
||||
nncEffect = nncEffgen.generateCachedEffect();
|
||||
}
|
||||
else
|
||||
{
|
||||
// If no grid is present, use same offset as grid geometry to be able to see mesh lines
|
||||
caf::ScalarMapperEffectGenerator nncEffgen(mapper, caf::PO_1);
|
||||
nncEffect = nncEffgen.generateEffect();
|
||||
nncEffect = nncEffgen.generateCachedEffect();
|
||||
}
|
||||
|
||||
cvf::DrawableGeo* dg = dynamic_cast<cvf::DrawableGeo*>(m_NNCFaces->drawable());
|
||||
@ -704,13 +704,13 @@ void RivFaultPartMgr::updateNNCColors(RimEclipseCellColors* cellResultColors)
|
||||
{
|
||||
// Move NNC closer to camera to avoid z-fighting with grid surface
|
||||
caf::SurfaceEffectGenerator nncEffgen(nncColor, caf::PO_NEG_LARGE);
|
||||
nncEffect = nncEffgen.generateEffect();
|
||||
nncEffect = nncEffgen.generateCachedEffect();
|
||||
}
|
||||
else
|
||||
{
|
||||
// If no grid is present, use same offset as grid geometry to be able to see mesh lines
|
||||
caf::SurfaceEffectGenerator nncEffgen(nncColor, caf::PO_1);
|
||||
nncEffect = nncEffgen.generateEffect();
|
||||
nncEffect = nncEffgen.generateCachedEffect();
|
||||
}
|
||||
|
||||
m_NNCFaces->setEffect(nncEffect.p());
|
||||
|
@ -133,7 +133,7 @@ void RivGridPartMgr::generatePartGeometry(cvf::StructGridGeometryGenerator& geoB
|
||||
|
||||
// Set default effect
|
||||
caf::SurfaceEffectGenerator geometryEffgen(cvf::Color4f(cvf::Color3f::WHITE), caf::PO_1);
|
||||
cvf::ref<cvf::Effect> geometryOnlyEffect = geometryEffgen.generateEffect();
|
||||
cvf::ref<cvf::Effect> geometryOnlyEffect = geometryEffgen.generateCachedEffect();
|
||||
part->setEffect(geometryOnlyEffect.p());
|
||||
part->setEnableMask(surfaceBit);
|
||||
m_surfaceFaces = part;
|
||||
@ -161,7 +161,7 @@ void RivGridPartMgr::generatePartGeometry(cvf::StructGridGeometryGenerator& geoB
|
||||
|
||||
cvf::ref<cvf::Effect> eff;
|
||||
caf::MeshEffectGenerator effGen(prefs->defaultGridLineColors());
|
||||
eff = effGen.generateEffect();
|
||||
eff = effGen.generateCachedEffect();
|
||||
|
||||
// Set priority to make sure fault lines are rendered first
|
||||
part->setPriority(10);
|
||||
@ -193,7 +193,7 @@ void RivGridPartMgr::updateCellColor(cvf::Color4f color)
|
||||
|
||||
// Set default effect
|
||||
caf::SurfaceEffectGenerator geometryEffgen(color, caf::PO_1);
|
||||
cvf::ref<cvf::Effect> geometryOnlyEffect = geometryEffgen.generateEffect();
|
||||
cvf::ref<cvf::Effect> geometryOnlyEffect = geometryEffgen.generateCachedEffect();
|
||||
|
||||
if (m_surfaceFaces.notNull()) m_surfaceFaces->setEffect(geometryOnlyEffect.p());
|
||||
|
||||
@ -213,7 +213,7 @@ void RivGridPartMgr::updateCellColor(cvf::Color4f color)
|
||||
if (m_surfaceFaces.notNull())
|
||||
{
|
||||
caf::MeshEffectGenerator effGen(prefs->defaultGridLineColors());
|
||||
eff = effGen.generateEffect();
|
||||
eff = effGen.generateCachedEffect();
|
||||
m_surfaceGridLines->setEffect(eff.p());
|
||||
}
|
||||
}
|
||||
|
@ -102,7 +102,7 @@ cvf::ref<cvf::Effect> RivScalarMapperUtils::createCellEdgeEffect(cvf::DrawableGe
|
||||
cellFaceEffectGen.setFaceCulling(faceCulling);
|
||||
cellFaceEffectGen.disableLighting(disableLighting);
|
||||
|
||||
cvf::ref<cvf::Effect> eff = cellFaceEffectGen.generateEffect();
|
||||
cvf::ref<cvf::Effect> eff = cellFaceEffectGen.generateCachedEffect();
|
||||
return eff;
|
||||
}
|
||||
|
||||
@ -119,7 +119,7 @@ cvf::ref<cvf::Effect> RivScalarMapperUtils::createScalarMapperEffect(const cvf::
|
||||
scalarEffgen.setFaceCulling(faceCulling);
|
||||
scalarEffgen.disableLighting(disableLighting);
|
||||
|
||||
cvf::ref<cvf::Effect> scalarEffect = scalarEffgen.generateEffect();
|
||||
cvf::ref<cvf::Effect> scalarEffect = scalarEffgen.generateCachedEffect();
|
||||
|
||||
return scalarEffect;
|
||||
}
|
||||
@ -136,7 +136,7 @@ cvf::ref<cvf::Effect> RivScalarMapperUtils::createTernaryScalarMapperEffect(cons
|
||||
scalarEffgen.setOpacityLevel(opacityLevel);
|
||||
scalarEffgen.setFaceCulling(faceCulling);
|
||||
scalarEffgen.disableLighting(disableLighting);
|
||||
cvf::ref<cvf::Effect> scalarEffect = scalarEffgen.generateEffect();
|
||||
cvf::ref<cvf::Effect> scalarEffect = scalarEffgen.generateCachedEffect();
|
||||
|
||||
return scalarEffect;
|
||||
}
|
||||
|
@ -180,7 +180,7 @@ void RivWellHeadPartMgr::buildWellHeadParts(size_t frameIndex)
|
||||
part->setDrawable(pipeSurface.p());
|
||||
|
||||
caf::SurfaceEffectGenerator surfaceGen(cvf::Color4f(well->wellPipeColor()), caf::PO_1);
|
||||
cvf::ref<cvf::Effect> eff = surfaceGen.generateEffect();
|
||||
cvf::ref<cvf::Effect> eff = surfaceGen.generateCachedEffect();
|
||||
|
||||
part->setEffect(eff.p());
|
||||
|
||||
@ -194,7 +194,7 @@ void RivWellHeadPartMgr::buildWellHeadParts(size_t frameIndex)
|
||||
part->setDrawable(centerLineDrawable.p());
|
||||
|
||||
caf::MeshEffectGenerator meshGen(well->wellPipeColor());
|
||||
cvf::ref<cvf::Effect> eff = meshGen.generateEffect();
|
||||
cvf::ref<cvf::Effect> eff = meshGen.generateCachedEffect();
|
||||
|
||||
part->setEffect(eff.p());
|
||||
|
||||
@ -276,7 +276,7 @@ void RivWellHeadPartMgr::buildWellHeadParts(size_t frameIndex)
|
||||
}
|
||||
|
||||
caf::SurfaceEffectGenerator surfaceGen(headColor, caf::PO_1);
|
||||
cvf::ref<cvf::Effect> eff = surfaceGen.generateEffect();
|
||||
cvf::ref<cvf::Effect> eff = surfaceGen.generateCachedEffect();
|
||||
|
||||
part->setEffect(eff.p());
|
||||
m_wellHeadParts.push_back(part.p());
|
||||
|
@ -78,10 +78,10 @@ RivWellPathPartMgr::RivWellPathPartMgr(RimWellPathCollection* wellPathCollection
|
||||
m_scalarMapper = scalarMapper;
|
||||
|
||||
caf::ScalarMapperEffectGenerator surfEffGen(scalarMapper.p(), caf::PO_1);
|
||||
m_scalarMapperSurfaceEffect = surfEffGen.generateEffect();
|
||||
m_scalarMapperSurfaceEffect = surfEffGen.generateCachedEffect();
|
||||
|
||||
caf::ScalarMapperMeshEffectGenerator meshEffGen(scalarMapper.p());
|
||||
m_scalarMapperMeshEffect = meshEffGen.generateEffect();
|
||||
m_scalarMapperMeshEffect = meshEffGen.generateCachedEffect();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -160,7 +160,7 @@ void RivWellPathPartMgr::buildWellPathParts(cvf::Vec3d displayModelOffset, doubl
|
||||
pbd.m_surfacePart->setDrawable(pbd.m_surfaceDrawable.p());
|
||||
|
||||
caf::SurfaceEffectGenerator surfaceGen(cvf::Color4f(m_rimWellPath->wellPathColor()), caf::PO_1);
|
||||
cvf::ref<cvf::Effect> eff = surfaceGen.generateEffect();
|
||||
cvf::ref<cvf::Effect> eff = surfaceGen.generateCachedEffect();
|
||||
|
||||
pbd.m_surfacePart->setEffect(eff.p());
|
||||
}
|
||||
@ -171,7 +171,7 @@ void RivWellPathPartMgr::buildWellPathParts(cvf::Vec3d displayModelOffset, doubl
|
||||
pbd.m_centerLinePart->setDrawable(pbd.m_centerLineDrawable.p());
|
||||
|
||||
caf::MeshEffectGenerator gen(m_rimWellPath->wellPathColor());
|
||||
cvf::ref<cvf::Effect> eff = gen.generateEffect();
|
||||
cvf::ref<cvf::Effect> eff = gen.generateCachedEffect();
|
||||
|
||||
pbd.m_centerLinePart->setEffect(eff.p());
|
||||
}
|
||||
|
@ -74,10 +74,10 @@ RivWellPipesPartMgr::RivWellPipesPartMgr(RimEclipseView* reservoirView, RimEclip
|
||||
m_scalarMapper = scalarMapper;
|
||||
|
||||
caf::ScalarMapperEffectGenerator surfEffGen(scalarMapper.p(), caf::PO_1);
|
||||
m_scalarMapperSurfaceEffect = surfEffGen.generateEffect();
|
||||
m_scalarMapperSurfaceEffect = surfEffGen.generateCachedEffect();
|
||||
|
||||
caf::ScalarMapperMeshEffectGenerator meshEffGen(scalarMapper.p());
|
||||
m_scalarMapperMeshEffect = meshEffGen.generateEffect();
|
||||
m_scalarMapperMeshEffect = meshEffGen.generateCachedEffect();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -143,7 +143,7 @@ void RivWellPipesPartMgr::buildWellPipeParts()
|
||||
pbd.m_surfacePart->setDrawable(pbd.m_surfaceDrawable.p());
|
||||
|
||||
caf::SurfaceEffectGenerator surfaceGen(cvf::Color4f(m_rimWell->wellPipeColor()), caf::PO_1);
|
||||
cvf::ref<cvf::Effect> eff = surfaceGen.generateEffect();
|
||||
cvf::ref<cvf::Effect> eff = surfaceGen.generateCachedEffect();
|
||||
|
||||
pbd.m_surfacePart->setEffect(eff.p());
|
||||
}
|
||||
@ -154,7 +154,7 @@ void RivWellPipesPartMgr::buildWellPipeParts()
|
||||
pbd.m_centerLinePart->setDrawable(pbd.m_centerLineDrawable.p());
|
||||
|
||||
caf::MeshEffectGenerator gen(m_rimWell->wellPipeColor());
|
||||
cvf::ref<cvf::Effect> eff = gen.generateEffect();
|
||||
cvf::ref<cvf::Effect> eff = gen.generateCachedEffect();
|
||||
|
||||
pbd.m_centerLinePart->setEffect(eff.p());
|
||||
}
|
||||
|
@ -157,13 +157,13 @@ EffectGenerator::RenderingModeType EffectGenerator::renderingMode()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
cvf::ref<cvf::Effect> EffectGenerator::generateEffectFromCache() const
|
||||
cvf::ref<cvf::Effect> EffectGenerator::generateCachedEffect() const
|
||||
{
|
||||
cvf::ref<cvf::Effect> eff = caf::EffectCache::instance()->findEffect(this);
|
||||
|
||||
if (eff.notNull()) return eff.p();
|
||||
|
||||
eff = generateEffect();
|
||||
eff = generateUnCachedEffect();
|
||||
caf::EffectCache::instance()->addEffect(this, eff.p());
|
||||
|
||||
return eff;
|
||||
@ -173,7 +173,7 @@ cvf::ref<cvf::Effect> EffectGenerator::generateEffectFromCache() const
|
||||
/// Creates a new effect using the settings in the inherited generator.
|
||||
/// Creates a new effect and calls the correct update-Effect method dep. on the effect type (software/shader)
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
cvf::ref<cvf::Effect> EffectGenerator::generateEffect() const
|
||||
cvf::ref<cvf::Effect> EffectGenerator::generateUnCachedEffect() const
|
||||
{
|
||||
cvf::ref<cvf::Effect> eff = new cvf::Effect;
|
||||
|
||||
|
@ -93,8 +93,8 @@ public:
|
||||
EffectGenerator() {}
|
||||
virtual ~EffectGenerator() {}
|
||||
|
||||
cvf::ref<cvf::Effect> generateEffect() const;
|
||||
cvf::ref<cvf::Effect> generateEffectFromCache() const;
|
||||
cvf::ref<cvf::Effect> generateUnCachedEffect() const;
|
||||
cvf::ref<cvf::Effect> generateCachedEffect() const;
|
||||
void updateEffect(cvf::Effect* effect) const;
|
||||
|
||||
static void setRenderingMode(RenderingModeType effectType);
|
||||
|
Loading…
Reference in New Issue
Block a user