Medical Imaging Interaction Toolkit  2022.10.99-748b94b4
Medical Imaging Interaction Toolkit
vtkNeverTranslucentTexture Class Reference

VTK Fix to speed up our image rendering. More...

#include <vtkNeverTranslucentTexture.h>

Inheritance diagram for vtkNeverTranslucentTexture:
Collaboration diagram for vtkNeverTranslucentTexture:

Public Member Functions

 vtkTypeMacro (vtkNeverTranslucentTexture, vtkOpenGLTexture)
void PrintSelf (ostream &os, vtkIndent indent) override
int IsTranslucent () override
 The FIX (see class description). More...

Static Public Member Functions

static vtkNeverTranslucentTextureNew ()

Protected Member Functions

 vtkNeverTranslucentTexture ()

Detailed Description

VTK Fix to speed up our image rendering.

The way we render images while changing the contrast via level/window extremely slows down rendering.

The cause of this slowdown is that VTK asks a texture (via a call to IsTranslucent) if it is translucent. When the texture refers to a lookup table this question is answered in a most expensive way: pushing every pixel through the lookup table to see whether it would render translucent.

We can speed this up extremely by always answering NO. 2D Image rendering in the context of MITK is still correct.

This class is injected into the VTK system by registering it with vtkObjectFactory as a replacement for vtkTexture.

We chose vtkOpenGLTexture as super class, because it seems that the other texture super class is deprecated:

See also

Definition at line 49 of file vtkNeverTranslucentTexture.h.

Constructor & Destructor Documentation

◆ vtkNeverTranslucentTexture()

vtkNeverTranslucentTexture::vtkNeverTranslucentTexture ( )

Member Function Documentation

◆ IsTranslucent()

int vtkNeverTranslucentTexture::IsTranslucent ( )

The FIX (see class description).

VTK Description: Is this Texture Translucent?

Returns false (0) if the texture is either fully opaque or has only fully transparent pixels and fully opaque pixels and the Interpolate flag is turn off.

◆ New()

static vtkNeverTranslucentTexture* vtkNeverTranslucentTexture::New ( )

◆ PrintSelf()

void vtkNeverTranslucentTexture::PrintSelf ( ostream &  os,
vtkIndent  indent 

◆ vtkTypeMacro()

vtkNeverTranslucentTexture::vtkTypeMacro ( vtkNeverTranslucentTexture  ,

The documentation for this class was generated from the following file: