21#ifndef vtkEncodedGradientShader_h
22#define vtkEncodedGradientShader_h
25#include "vtkRenderingVolumeModule.h"
27VTK_ABI_NAMESPACE_BEGIN
32#define VTK_MAX_SHADING_TABLES 100
50 vtkSetClampMacro(ZeroNormalDiffuseIntensity,
float, 0.0f, 1.0f);
51 vtkGetMacro(ZeroNormalDiffuseIntensity,
float);
52 vtkSetClampMacro(ZeroNormalSpecularIntensity,
float, 0.0f, 1.0f);
53 vtkGetMacro(ZeroNormalSpecularIntensity,
float);
79 vtkSetClampMacro(ActiveComponent,
int, 0, 3);
80 vtkGetMacro(ActiveComponent,
int);
102 double lightDiffuseColor[3],
double lightSpecularColor[3],
double lightIntensity,
Superclass for gradient estimation.
Compute shading tables for encoded normals.
float ZeroNormalSpecularIntensity
float * GetRedSpecularShadingTable(vtkVolume *vol)
Get the red/green/blue shading table.
float * GetRedDiffuseShadingTable(vtkVolume *vol)
Get the red/green/blue shading table.
void PrintSelf(ostream &os, vtkIndent indent) override
Print the vtkEncodedGradientShader.
float * GetBlueDiffuseShadingTable(vtkVolume *vol)
Get the red/green/blue shading table.
vtkEncodedGradientShader()
void UpdateShadingTable(vtkRenderer *ren, vtkVolume *vol, vtkEncodedGradientEstimator *gradest)
Cause the shading table to be updated.
~vtkEncodedGradientShader() override
float * GetGreenSpecularShadingTable(vtkVolume *vol)
Get the red/green/blue shading table.
float * GetGreenDiffuseShadingTable(vtkVolume *vol)
Get the red/green/blue shading table.
float * GetBlueSpecularShadingTable(vtkVolume *vol)
Get the red/green/blue shading table.
static vtkEncodedGradientShader * New()
void BuildShadingTable(int index, double lightDirection[3], double lightAmbientColor[3], double lightDiffuseColor[3], double lightSpecularColor[3], double lightIntensity, double viewDirection[3], double material[4], int twoSided, vtkEncodedGradientEstimator *gradest, int updateFlag)
Build a shading table for a light with the specified direction, and color for an object of the specif...
float ZeroNormalDiffuseIntensity
a simple class to control print indentation
abstract base class for most VTK objects
abstract specification for renderers
represents a volume (data & properties) in a rendered scene
#define VTK_MAX_SHADING_TABLES