Dear friends of rendering issues,
I recently implemented an OpenGL based mapper for a custom data object and ran
into a problem with mitk::GLMapper::MitkRender() [1]. This function assumes
that everything that is ever rendered by a mapper is opaque. This breaks the
correct rendering order proposed by VTK which is first opaque objects then
translucent ones. Is there any reason for the current behavior or the
restriction to opaque objects? Otherwise I'd propose to reformulate the method
as below. This version works fine for me. Any objections?
Kind regards,
Daniel
[1]
http://mitk.org/git/?p=MITK.git;a=blob;f=Modules/LegacyGL/mitkGLMapper.cpp;h=043e31b62419c5f3a00784e1c2f80579504361a9;hb=1f2ae20d52c6f4437dbb3ce94860cb858b4ba8a7
void
mitk::GLMapper::MitkRender(mitk::BaseRenderer* renderer,
mitk::VtkPropRenderer::RenderType type)
{
bool visible = true;
GetDataNode()->GetVisibility(visible, renderer, "visible");
if ( !visible ) return;
float opacity = 1.0;
GetDataNode()->GetOpacity(opacity, renderer);
// Ensure that Paint is called only once _and_ at the right moment, i.e.
// when VTK decides that opaque or translucent objects should be rendered.
// If this is not done right, then we'd either render multiple time and/or
// get problems with mixing opaque and translucent objects.
if ( opacity < 1.0 && type == mitk::VtkPropRenderer::Translucent ) {
Paint(renderer);
} else if ( opacity >= 1.0 && type == mitk::VtkPropRenderer::Opaque ) {
Paint(renderer);
}
}
--
Dr. Daniel Maleike, Mint Medical GmbH
Friedrich-Ebert-Straße 2, 69221 Dossenheim/Heidelberg
Geschäftsführer: Dr. Matthias Baumhauer, Registergericht Mannheim, HRB 709351
------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
mitk-users mailing list
mitk-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mitk-users