mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Bugfix: Apply face culling mode when creating effects
This commit is contained in:
parent
ecfea98e20
commit
b9a5d5b743
@ -44,7 +44,7 @@ CellEdgeEffectGenerator::CellEdgeEffectGenerator(const cvf::ScalarMapper* edgeSc
|
|||||||
|
|
||||||
m_edgeScalarMapper = edgeScalarMapper;
|
m_edgeScalarMapper = edgeScalarMapper;
|
||||||
|
|
||||||
m_cullBackfaces = false;
|
m_cullBackfaces = caf::FC_NONE;
|
||||||
m_opacityLevel = 1.0f;
|
m_opacityLevel = 1.0f;
|
||||||
m_defaultCellColor = cvf::Color3f(cvf::Color3::WHITE);
|
m_defaultCellColor = cvf::Color3f(cvf::Color3::WHITE);
|
||||||
}
|
}
|
||||||
@ -116,7 +116,7 @@ caf::EffectGenerator* CellEdgeEffectGenerator::copy() const
|
|||||||
newEffect->m_cellTextureImage = m_cellTextureImage;
|
newEffect->m_cellTextureImage = m_cellTextureImage;
|
||||||
|
|
||||||
newEffect->setOpacityLevel(m_opacityLevel);
|
newEffect->setOpacityLevel(m_opacityLevel);
|
||||||
newEffect->setCullBackfaces(m_cullBackfaces);
|
newEffect->setFaceCulling(m_cullBackfaces);
|
||||||
newEffect->setUndefinedColor(m_undefinedColor);
|
newEffect->setUndefinedColor(m_undefinedColor);
|
||||||
newEffect->setDefaultCellColor(m_defaultCellColor);
|
newEffect->setDefaultCellColor(m_defaultCellColor);
|
||||||
|
|
||||||
@ -237,15 +237,28 @@ void CellEdgeEffectGenerator::updateForShaderBasedRendering(cvf::Effect* effect)
|
|||||||
eff->setRenderState(blender.p());
|
eff->setRenderState(blender.p());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Backface culling
|
// Face culling
|
||||||
|
if (m_cullBackfaces != caf::FC_NONE)
|
||||||
if (m_cullBackfaces)
|
|
||||||
{
|
{
|
||||||
cvf::ref<cvf::RenderStateCullFace> faceCulling = new cvf::RenderStateCullFace;
|
cvf::ref<cvf::RenderStateCullFace> faceCulling = new cvf::RenderStateCullFace;
|
||||||
eff->setRenderState(faceCulling.p());
|
if (m_cullBackfaces == caf::FC_BACK)
|
||||||
|
{
|
||||||
|
faceCulling->setMode(cvf::RenderStateCullFace::BACK);
|
||||||
|
}
|
||||||
|
else if (m_cullBackfaces == caf::FC_FRONT)
|
||||||
|
{
|
||||||
|
faceCulling->setMode(cvf::RenderStateCullFace::FRONT);
|
||||||
|
}
|
||||||
|
else if (m_cullBackfaces == caf::FC_FRONT_AND_BACK)
|
||||||
|
{
|
||||||
|
faceCulling->setMode(cvf::RenderStateCullFace::FRONT_AND_BACK);
|
||||||
|
}
|
||||||
|
|
||||||
|
effect->setRenderState(faceCulling.p());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -106,7 +106,7 @@ public:
|
|||||||
|
|
||||||
void setOpacityLevel(float opacity) { m_opacityLevel = cvf::Math::clamp(opacity, 0.0f , 1.0f ); }
|
void setOpacityLevel(float opacity) { m_opacityLevel = cvf::Math::clamp(opacity, 0.0f , 1.0f ); }
|
||||||
void setUndefinedColor(cvf::Color3f color) { m_undefinedColor = color; }
|
void setUndefinedColor(cvf::Color3f color) { m_undefinedColor = color; }
|
||||||
void setCullBackfaces(bool cullBackFaces) { m_cullBackfaces = cullBackFaces; }
|
void setFaceCulling(caf::FaceCulling faceCulling) { m_cullBackfaces = faceCulling; }
|
||||||
void setDefaultCellColor(cvf::Color3f color) { m_defaultCellColor = color; }
|
void setDefaultCellColor(cvf::Color3f color) { m_defaultCellColor = color; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@ -125,7 +125,7 @@ private:
|
|||||||
cvf::cref<RivTernaryScalarMapper> m_ternaryCellScalarMapper;
|
cvf::cref<RivTernaryScalarMapper> m_ternaryCellScalarMapper;
|
||||||
|
|
||||||
float m_opacityLevel;
|
float m_opacityLevel;
|
||||||
bool m_cullBackfaces;
|
caf::FaceCulling m_cullBackfaces;
|
||||||
cvf::Color3f m_undefinedColor;
|
cvf::Color3f m_undefinedColor;
|
||||||
cvf::Color3f m_defaultCellColor;
|
cvf::Color3f m_defaultCellColor;
|
||||||
};
|
};
|
||||||
|
@ -122,7 +122,7 @@ void RivFaultPartMgr::updateCellResultColor(size_t timeStepIndex, RimResultSlot*
|
|||||||
texturer.createTextureCoords(m_nativeFaultFacesTextureCoords.p());
|
texturer.createTextureCoords(m_nativeFaultFacesTextureCoords.p());
|
||||||
|
|
||||||
const RivTernaryScalarMapper* mapper = cellResultSlot->ternaryLegendConfig()->scalarMapper();
|
const RivTernaryScalarMapper* mapper = cellResultSlot->ternaryLegendConfig()->scalarMapper();
|
||||||
RivScalarMapperUtils::applyTernaryTextureResultsToPart(m_nativeFaultFaces.p(), m_nativeFaultFacesTextureCoords.p(), mapper, m_opacityLevel);
|
RivScalarMapperUtils::applyTernaryTextureResultsToPart(m_nativeFaultFaces.p(), m_nativeFaultFacesTextureCoords.p(), mapper, m_opacityLevel, this->faceCullingMode());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -139,7 +139,7 @@ void RivFaultPartMgr::updateCellResultColor(size_t timeStepIndex, RimResultSlot*
|
|||||||
texturer.createTextureCoords(m_nativeFaultFacesTextureCoords.p());
|
texturer.createTextureCoords(m_nativeFaultFacesTextureCoords.p());
|
||||||
|
|
||||||
const cvf::ScalarMapper* mapper = cellResultSlot->legendConfig()->scalarMapper();
|
const cvf::ScalarMapper* mapper = cellResultSlot->legendConfig()->scalarMapper();
|
||||||
RivScalarMapperUtils::applyTextureResultsToPart(m_nativeFaultFaces.p(), m_nativeFaultFacesTextureCoords.p(), mapper, m_opacityLevel);
|
RivScalarMapperUtils::applyTextureResultsToPart(m_nativeFaultFaces.p(), m_nativeFaultFacesTextureCoords.p(), mapper, m_opacityLevel, this->faceCullingMode());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -155,7 +155,7 @@ void RivFaultPartMgr::updateCellResultColor(size_t timeStepIndex, RimResultSlot*
|
|||||||
texturer.createTextureCoords(m_oppositeFaultFacesTextureCoords.p());
|
texturer.createTextureCoords(m_oppositeFaultFacesTextureCoords.p());
|
||||||
|
|
||||||
const RivTernaryScalarMapper* mapper = cellResultSlot->ternaryLegendConfig()->scalarMapper();
|
const RivTernaryScalarMapper* mapper = cellResultSlot->ternaryLegendConfig()->scalarMapper();
|
||||||
RivScalarMapperUtils::applyTernaryTextureResultsToPart(m_oppositeFaultFaces.p(), m_oppositeFaultFacesTextureCoords.p(), mapper, m_opacityLevel);
|
RivScalarMapperUtils::applyTernaryTextureResultsToPart(m_oppositeFaultFaces.p(), m_oppositeFaultFacesTextureCoords.p(), mapper, m_opacityLevel, this->faceCullingMode());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -172,7 +172,7 @@ void RivFaultPartMgr::updateCellResultColor(size_t timeStepIndex, RimResultSlot*
|
|||||||
texturer.createTextureCoords(m_oppositeFaultFacesTextureCoords.p());
|
texturer.createTextureCoords(m_oppositeFaultFacesTextureCoords.p());
|
||||||
|
|
||||||
const cvf::ScalarMapper* mapper = cellResultSlot->legendConfig()->scalarMapper();
|
const cvf::ScalarMapper* mapper = cellResultSlot->legendConfig()->scalarMapper();
|
||||||
RivScalarMapperUtils::applyTextureResultsToPart(m_oppositeFaultFaces.p(), m_oppositeFaultFacesTextureCoords.p(), mapper, m_opacityLevel);
|
RivScalarMapperUtils::applyTextureResultsToPart(m_oppositeFaultFaces.p(), m_oppositeFaultFacesTextureCoords.p(), mapper, m_opacityLevel, this->faceCullingMode());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -189,7 +189,7 @@ void RivFaultPartMgr::updateCellEdgeResultColor(size_t timeStepIndex, RimResultS
|
|||||||
{
|
{
|
||||||
cvf::ref<cvf::Effect> eff = RivScalarMapperUtils::createCellEdgeEffect(dg, m_nativeFaultGenerator->quadToCellFaceMapper(),
|
cvf::ref<cvf::Effect> eff = RivScalarMapperUtils::createCellEdgeEffect(dg, m_nativeFaultGenerator->quadToCellFaceMapper(),
|
||||||
m_grid->gridIndex(),
|
m_grid->gridIndex(),
|
||||||
timeStepIndex, cellResultSlot, cellEdgeResultSlot, m_opacityLevel, m_defaultColor);
|
timeStepIndex, cellResultSlot, cellEdgeResultSlot, m_opacityLevel, m_defaultColor, this->faceCullingMode());
|
||||||
|
|
||||||
m_nativeFaultFaces->setEffect(eff.p());
|
m_nativeFaultFaces->setEffect(eff.p());
|
||||||
}
|
}
|
||||||
@ -201,7 +201,7 @@ void RivFaultPartMgr::updateCellEdgeResultColor(size_t timeStepIndex, RimResultS
|
|||||||
if (dg)
|
if (dg)
|
||||||
{
|
{
|
||||||
cvf::ref<cvf::Effect> eff = RivScalarMapperUtils::createCellEdgeEffect(dg, m_oppositeFaultGenerator->quadToCellFaceMapper(), m_grid->gridIndex(),
|
cvf::ref<cvf::Effect> eff = RivScalarMapperUtils::createCellEdgeEffect(dg, m_oppositeFaultGenerator->quadToCellFaceMapper(), m_grid->gridIndex(),
|
||||||
timeStepIndex, cellResultSlot, cellEdgeResultSlot, m_opacityLevel, m_defaultColor);
|
timeStepIndex, cellResultSlot, cellEdgeResultSlot, m_opacityLevel, m_defaultColor, this->faceCullingMode());
|
||||||
|
|
||||||
m_oppositeFaultFaces->setEffect(eff.p());
|
m_oppositeFaultFaces->setEffect(eff.p());
|
||||||
}
|
}
|
||||||
|
@ -241,7 +241,7 @@ void RivGridPartMgr::updateCellResultColor(size_t timeStepIndex, RimResultSlot*
|
|||||||
texturer.createTextureCoords(m_surfaceFacesTextureCoords.p());
|
texturer.createTextureCoords(m_surfaceFacesTextureCoords.p());
|
||||||
|
|
||||||
const RivTernaryScalarMapper* mapper = cellResultSlot->ternaryLegendConfig()->scalarMapper();
|
const RivTernaryScalarMapper* mapper = cellResultSlot->ternaryLegendConfig()->scalarMapper();
|
||||||
RivScalarMapperUtils::applyTernaryTextureResultsToPart(m_surfaceFaces.p(), m_surfaceFacesTextureCoords.p(), mapper, m_opacityLevel);
|
RivScalarMapperUtils::applyTernaryTextureResultsToPart(m_surfaceFaces.p(), m_surfaceFacesTextureCoords.p(), mapper, m_opacityLevel, caf::FC_NONE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -257,7 +257,7 @@ void RivGridPartMgr::updateCellResultColor(size_t timeStepIndex, RimResultSlot*
|
|||||||
texturer.createTextureCoords(m_surfaceFacesTextureCoords.p());
|
texturer.createTextureCoords(m_surfaceFacesTextureCoords.p());
|
||||||
|
|
||||||
const cvf::ScalarMapper* mapper = cellResultSlot->legendConfig()->scalarMapper();
|
const cvf::ScalarMapper* mapper = cellResultSlot->legendConfig()->scalarMapper();
|
||||||
RivScalarMapperUtils::applyTextureResultsToPart(m_surfaceFaces.p(), m_surfaceFacesTextureCoords.p(), mapper, m_opacityLevel);
|
RivScalarMapperUtils::applyTextureResultsToPart(m_surfaceFaces.p(), m_surfaceFacesTextureCoords.p(), mapper, m_opacityLevel, caf::FC_NONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -273,7 +273,7 @@ void RivGridPartMgr::updateCellEdgeResultColor(size_t timeStepIndex, RimResultSl
|
|||||||
if (dg)
|
if (dg)
|
||||||
{
|
{
|
||||||
cvf::ref<cvf::Effect> eff = RivScalarMapperUtils::createCellEdgeEffect(dg, m_surfaceGenerator.quadToCellFaceMapper(), m_grid->gridIndex(),
|
cvf::ref<cvf::Effect> eff = RivScalarMapperUtils::createCellEdgeEffect(dg, m_surfaceGenerator.quadToCellFaceMapper(), m_grid->gridIndex(),
|
||||||
timeStepIndex, cellResultSlot, cellEdgeResultSlot, m_opacityLevel, m_defaultColor);
|
timeStepIndex, cellResultSlot, cellEdgeResultSlot, m_opacityLevel, m_defaultColor, caf::FC_NONE);
|
||||||
|
|
||||||
m_surfaceFaces->setEffect(eff.p());
|
m_surfaceFaces->setEffect(eff.p());
|
||||||
}
|
}
|
||||||
|
@ -38,28 +38,28 @@
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RivScalarMapperUtils::applyTextureResultsToPart(cvf::Part* part, cvf::Vec2fArray* textureCoords, const cvf::ScalarMapper* mapper, float opacityLevel)
|
void RivScalarMapperUtils::applyTextureResultsToPart(cvf::Part* part, cvf::Vec2fArray* textureCoords, const cvf::ScalarMapper* mapper, float opacityLevel, caf::FaceCulling faceCulling)
|
||||||
{
|
{
|
||||||
CVF_ASSERT(part && textureCoords && mapper);
|
CVF_ASSERT(part && textureCoords && mapper);
|
||||||
|
|
||||||
cvf::DrawableGeo* dg = dynamic_cast<cvf::DrawableGeo*>(part->drawable());
|
cvf::DrawableGeo* dg = dynamic_cast<cvf::DrawableGeo*>(part->drawable());
|
||||||
if (dg) dg->setTextureCoordArray(textureCoords);
|
if (dg) dg->setTextureCoordArray(textureCoords);
|
||||||
|
|
||||||
cvf::ref<cvf::Effect> scalarEffect = RivScalarMapperUtils::createScalarMapperEffect(mapper, opacityLevel);
|
cvf::ref<cvf::Effect> scalarEffect = RivScalarMapperUtils::createScalarMapperEffect(mapper, opacityLevel, faceCulling);
|
||||||
part->setEffect(scalarEffect.p());
|
part->setEffect(scalarEffect.p());
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RivScalarMapperUtils::applyTernaryTextureResultsToPart(cvf::Part* part, cvf::Vec2fArray* textureCoords, const RivTernaryScalarMapper* mapper, float opacityLevel)
|
void RivScalarMapperUtils::applyTernaryTextureResultsToPart(cvf::Part* part, cvf::Vec2fArray* textureCoords, const RivTernaryScalarMapper* mapper, float opacityLevel, caf::FaceCulling faceCulling)
|
||||||
{
|
{
|
||||||
CVF_ASSERT(part && textureCoords && mapper);
|
CVF_ASSERT(part && textureCoords && mapper);
|
||||||
|
|
||||||
cvf::DrawableGeo* dg = dynamic_cast<cvf::DrawableGeo*>(part->drawable());
|
cvf::DrawableGeo* dg = dynamic_cast<cvf::DrawableGeo*>(part->drawable());
|
||||||
if (dg) dg->setTextureCoordArray(textureCoords);
|
if (dg) dg->setTextureCoordArray(textureCoords);
|
||||||
|
|
||||||
cvf::ref<cvf::Effect> scalarEffect = RivScalarMapperUtils::createTernaryScalarMapperEffect(mapper, opacityLevel);
|
cvf::ref<cvf::Effect> scalarEffect = RivScalarMapperUtils::createTernaryScalarMapperEffect(mapper, opacityLevel, faceCulling);
|
||||||
part->setEffect(scalarEffect.p());
|
part->setEffect(scalarEffect.p());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,7 +73,8 @@ cvf::ref<cvf::Effect> RivScalarMapperUtils::createCellEdgeEffect(cvf::DrawableGe
|
|||||||
RimResultSlot* cellResultSlot,
|
RimResultSlot* cellResultSlot,
|
||||||
RimCellEdgeResultSlot* cellEdgeResultSlot,
|
RimCellEdgeResultSlot* cellEdgeResultSlot,
|
||||||
float opacityLevel,
|
float opacityLevel,
|
||||||
cvf::Color3f defaultColor)
|
cvf::Color3f defaultColor,
|
||||||
|
caf::FaceCulling faceCulling)
|
||||||
{
|
{
|
||||||
CellEdgeEffectGenerator cellFaceEffectGen(cellEdgeResultSlot->legendConfig()->scalarMapper());
|
CellEdgeEffectGenerator cellFaceEffectGen(cellEdgeResultSlot->legendConfig()->scalarMapper());
|
||||||
|
|
||||||
@ -99,6 +100,7 @@ cvf::ref<cvf::Effect> RivScalarMapperUtils::createCellEdgeEffect(cvf::DrawableGe
|
|||||||
|
|
||||||
cellFaceEffectGen.setOpacityLevel(opacityLevel);
|
cellFaceEffectGen.setOpacityLevel(opacityLevel);
|
||||||
cellFaceEffectGen.setDefaultCellColor(defaultColor);
|
cellFaceEffectGen.setDefaultCellColor(defaultColor);
|
||||||
|
cellFaceEffectGen.setFaceCulling(faceCulling);
|
||||||
|
|
||||||
cvf::ref<cvf::Effect> eff = cellFaceEffectGen.generateEffect();
|
cvf::ref<cvf::Effect> eff = cellFaceEffectGen.generateEffect();
|
||||||
return eff;
|
return eff;
|
||||||
@ -107,13 +109,15 @@ cvf::ref<cvf::Effect> RivScalarMapperUtils::createCellEdgeEffect(cvf::DrawableGe
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
cvf::ref<cvf::Effect> RivScalarMapperUtils::createScalarMapperEffect(const cvf::ScalarMapper* mapper, float opacityLevel)
|
cvf::ref<cvf::Effect> RivScalarMapperUtils::createScalarMapperEffect(const cvf::ScalarMapper* mapper, float opacityLevel, caf::FaceCulling faceCulling)
|
||||||
{
|
{
|
||||||
CVF_ASSERT(mapper);
|
CVF_ASSERT(mapper);
|
||||||
|
|
||||||
caf::PolygonOffset polygonOffset = caf::PO_1;
|
caf::PolygonOffset polygonOffset = caf::PO_1;
|
||||||
caf::ScalarMapperEffectGenerator scalarEffgen(mapper, polygonOffset);
|
caf::ScalarMapperEffectGenerator scalarEffgen(mapper, polygonOffset);
|
||||||
scalarEffgen.setOpacityLevel(opacityLevel);
|
scalarEffgen.setOpacityLevel(opacityLevel);
|
||||||
|
scalarEffgen.setFaceCulling(faceCulling);
|
||||||
|
|
||||||
cvf::ref<cvf::Effect> scalarEffect = scalarEffgen.generateEffect();
|
cvf::ref<cvf::Effect> scalarEffect = scalarEffgen.generateEffect();
|
||||||
|
|
||||||
return scalarEffect;
|
return scalarEffect;
|
||||||
@ -122,13 +126,14 @@ cvf::ref<cvf::Effect> RivScalarMapperUtils::createScalarMapperEffect(const cvf::
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
cvf::ref<cvf::Effect> RivScalarMapperUtils::createTernaryScalarMapperEffect(const RivTernaryScalarMapper* mapper, float opacityLevel)
|
cvf::ref<cvf::Effect> RivScalarMapperUtils::createTernaryScalarMapperEffect(const RivTernaryScalarMapper* mapper, float opacityLevel, caf::FaceCulling faceCulling)
|
||||||
{
|
{
|
||||||
CVF_ASSERT(mapper);
|
CVF_ASSERT(mapper);
|
||||||
|
|
||||||
caf::PolygonOffset polygonOffset = caf::PO_1;
|
caf::PolygonOffset polygonOffset = caf::PO_1;
|
||||||
RivTernaryScalarMapperEffectGenerator scalarEffgen(mapper, polygonOffset);
|
RivTernaryScalarMapperEffectGenerator scalarEffgen(mapper, polygonOffset);
|
||||||
scalarEffgen.setOpacityLevel(opacityLevel);
|
scalarEffgen.setOpacityLevel(opacityLevel);
|
||||||
|
scalarEffgen.setFaceCulling(faceCulling);
|
||||||
cvf::ref<cvf::Effect> scalarEffect = scalarEffgen.generateEffect();
|
cvf::ref<cvf::Effect> scalarEffect = scalarEffgen.generateEffect();
|
||||||
|
|
||||||
return scalarEffect;
|
return scalarEffect;
|
||||||
|
@ -18,6 +18,8 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "cafEffectGenerator.h"
|
||||||
|
|
||||||
#include "cvfBase.h"
|
#include "cvfBase.h"
|
||||||
#include "cvfArray.h"
|
#include "cvfArray.h"
|
||||||
|
|
||||||
@ -40,8 +42,8 @@ class RimCellEdgeResultSlot;
|
|||||||
class RivScalarMapperUtils
|
class RivScalarMapperUtils
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static void applyTextureResultsToPart(cvf::Part* part, cvf::Vec2fArray* textureCoords, const cvf::ScalarMapper* mapper, float opacityLevel);
|
static void applyTextureResultsToPart(cvf::Part* part, cvf::Vec2fArray* textureCoords, const cvf::ScalarMapper* mapper, float opacityLevel, caf::FaceCulling faceCulling);
|
||||||
static void applyTernaryTextureResultsToPart(cvf::Part* part, cvf::Vec2fArray* textureCoords, const RivTernaryScalarMapper* mapper, float opacityLevel);
|
static void applyTernaryTextureResultsToPart(cvf::Part* part, cvf::Vec2fArray* textureCoords, const RivTernaryScalarMapper* mapper, float opacityLevel, caf::FaceCulling faceCulling);
|
||||||
|
|
||||||
static cvf::ref<cvf::Effect> createCellEdgeEffect(cvf::DrawableGeo* dg,
|
static cvf::ref<cvf::Effect> createCellEdgeEffect(cvf::DrawableGeo* dg,
|
||||||
const cvf::StructGridQuadToCellFaceMapper* quadToCellFaceMapper,
|
const cvf::StructGridQuadToCellFaceMapper* quadToCellFaceMapper,
|
||||||
@ -50,10 +52,11 @@ public:
|
|||||||
RimResultSlot* cellResultSlot,
|
RimResultSlot* cellResultSlot,
|
||||||
RimCellEdgeResultSlot* cellEdgeResultSlot,
|
RimCellEdgeResultSlot* cellEdgeResultSlot,
|
||||||
float opacityLevel,
|
float opacityLevel,
|
||||||
cvf::Color3f defaultColor);
|
cvf::Color3f defaultColor,
|
||||||
|
caf::FaceCulling faceCulling);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static cvf::ref<cvf::Effect> createScalarMapperEffect(const cvf::ScalarMapper* mapper, float opacityLevel);
|
static cvf::ref<cvf::Effect> createScalarMapperEffect(const cvf::ScalarMapper* mapper, float opacityLevel, caf::FaceCulling faceCulling);
|
||||||
static cvf::ref<cvf::Effect> createTernaryScalarMapperEffect(const RivTernaryScalarMapper* mapper, float opacityLevel);
|
static cvf::ref<cvf::Effect> createTernaryScalarMapperEffect(const RivTernaryScalarMapper* mapper, float opacityLevel, caf::FaceCulling faceCulling);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user