29 #include "vtkRenderingCoreModule.h"
41 #define VTK_WIREFRAME 1
44 VTK_ABI_NAMESPACE_BEGIN
54 class vtkPropertyInternals;
103 vtkGetMacro(Lighting,
bool);
104 vtkSetMacro(Lighting,
bool);
105 vtkBooleanMacro(Lighting,
bool);
115 vtkGetMacro(RenderPointsAsSpheres,
bool);
116 vtkSetMacro(RenderPointsAsSpheres,
bool);
117 vtkBooleanMacro(RenderPointsAsSpheres,
bool);
128 vtkGetMacro(RenderLinesAsTubes,
bool);
129 vtkSetMacro(RenderLinesAsTubes,
bool);
130 vtkBooleanMacro(RenderLinesAsTubes,
bool);
138 vtkGetMacro(Interpolation,
int);
143 const char* GetInterpolationAsString();
151 vtkGetMacro(Representation,
int);
155 const char* GetRepresentationAsString();
164 virtual void SetColor(
double r,
double g,
double b);
165 virtual void SetColor(
double a[3]);
167 void GetColor(
double rgb[3]);
168 void GetColor(
double& r,
double& g,
double& b);
184 vtkGetMacro(BaseIOR,
double);
194 vtkSetClampMacro(Metallic,
double, 0.0, 1.0);
195 vtkGetMacro(Metallic,
double);
206 vtkSetClampMacro(Roughness,
double, 0.0, 1.0);
207 vtkGetMacro(Roughness,
double);
217 vtkSetClampMacro(Anisotropy,
double, 0.0, 1.0);
218 vtkGetMacro(Anisotropy,
double);
228 vtkSetClampMacro(AnisotropyRotation,
double, 0.0, 1.0);
229 vtkGetMacro(AnisotropyRotation,
double);
238 vtkSetClampMacro(CoatIOR,
double, 1.0, VTK_FLOAT_MAX);
239 vtkGetMacro(CoatIOR,
double);
249 vtkSetClampMacro(CoatRoughness,
double, 0.0, 1.0);
250 vtkGetMacro(CoatRoughness,
double);
260 vtkSetClampMacro(CoatStrength,
double, 0.0, 1.0);
261 vtkGetMacro(CoatStrength,
double);
270 vtkSetVector3Macro(CoatColor,
double);
271 vtkGetVector3Macro(CoatColor,
double);
281 vtkSetClampMacro(CoatNormalScale,
double, 0.0, 1.0);
282 vtkGetMacro(CoatNormalScale,
double);
291 vtkSetMacro(NormalScale,
double);
292 vtkGetMacro(NormalScale,
double);
302 vtkSetClampMacro(OcclusionStrength,
double, 0.0, 1.0);
303 vtkGetMacro(OcclusionStrength,
double);
313 vtkSetVector3Macro(EmissiveFactor,
double);
314 vtkGetVector3Macro(EmissiveFactor,
double);
324 vtkSetVector3Macro(EdgeTint,
double);
325 vtkGetVector3Macro(EdgeTint,
double);
332 vtkSetClampMacro(Ambient,
double, 0.0, 1.0);
333 vtkGetMacro(Ambient,
double);
340 vtkSetClampMacro(Diffuse,
double, 0.0, 1.0);
341 vtkGetMacro(Diffuse,
double);
348 vtkSetClampMacro(Specular,
double, 0.0, 1.0);
349 vtkGetMacro(Specular,
double);
356 vtkSetClampMacro(SpecularPower,
double, 0.0, 128.0);
357 vtkGetMacro(SpecularPower,
double);
365 vtkSetClampMacro(Opacity,
double, 0.0, 1.0);
366 vtkGetMacro(Opacity,
double);
374 vtkSetClampMacro(EdgeOpacity,
double, 0.0, 1.0);
375 vtkGetMacro(EdgeOpacity,
double);
385 vtkSetVector3Macro(AmbientColor,
double);
386 vtkGetVector3Macro(AmbientColor,
double);
394 vtkSetVector3Macro(DiffuseColor,
double);
395 vtkGetVector3Macro(DiffuseColor,
double);
402 vtkSetVector3Macro(SpecularColor,
double);
403 vtkGetVector3Macro(SpecularColor,
double);
413 vtkSetMacro(EdgeVisibility, vtkTypeBool);
414 vtkBooleanMacro(EdgeVisibility, vtkTypeBool);
421 vtkSetVector3Macro(EdgeColor,
double);
422 vtkGetVector3Macro(EdgeColor,
double);
431 vtkGetMacro(VertexVisibility, vtkTypeBool);
432 vtkSetMacro(VertexVisibility, vtkTypeBool);
433 vtkBooleanMacro(VertexVisibility, vtkTypeBool);
440 vtkSetVector3Macro(VertexColor,
double);
441 vtkGetVector3Macro(VertexColor,
double);
449 vtkSetVector4Macro(SelectionColor,
double);
450 vtkGetVector4Macro(SelectionColor,
double);
458 vtkSetMacro(SelectionLineWidth,
float);
459 vtkGetMacro(SelectionLineWidth,
float);
467 vtkSetMacro(SelectionPointSize,
float);
468 vtkGetMacro(SelectionPointSize,
float);
476 vtkSetClampMacro(LineWidth,
float, 0, VTK_FLOAT_MAX);
477 vtkGetMacro(LineWidth,
float);
486 vtkSetMacro(LineStipplePattern,
int);
487 vtkGetMacro(LineStipplePattern,
int);
496 vtkSetClampMacro(LineStippleRepeatFactor,
int, 1,
VTK_INT_MAX);
497 vtkGetMacro(LineStippleRepeatFactor,
int);
505 vtkSetClampMacro(PointSize,
float, 0, VTK_FLOAT_MAX);
506 vtkGetMacro(PointSize,
float);
515 vtkGetMacro(BackfaceCulling, vtkTypeBool);
516 vtkSetMacro(BackfaceCulling, vtkTypeBool);
517 vtkBooleanMacro(BackfaceCulling, vtkTypeBool);
526 vtkGetMacro(FrontfaceCulling, vtkTypeBool);
527 vtkSetMacro(FrontfaceCulling, vtkTypeBool);
528 vtkBooleanMacro(FrontfaceCulling, vtkTypeBool);
535 vtkSetStringMacro(MaterialName);
536 vtkGetStringMacro(MaterialName);
544 vtkSetMacro(Shading, vtkTypeBool);
545 vtkGetMacro(Shading, vtkTypeBool);
546 vtkBooleanMacro(Shading, vtkTypeBool);
558 virtual
void AddShaderVariable(const
char*
name,
int numVars,
int* x);
559 virtual
void AddShaderVariable(const
char* name,
int numVars,
float* x);
560 virtual
void AddShaderVariable(const
char* name,
int numVars,
double* x);
572 int v[2] = { v1, v2 };
573 this->AddShaderVariable(name, 2, v);
577 float v[2] = { v1, v2 };
578 this->AddShaderVariable(name, 2, v);
582 double v[2] = { v1, v2 };
583 this->AddShaderVariable(name, 2, v);
587 int v[3] = { v1, v2, v3 };
588 this->AddShaderVariable(name, 3, v);
592 float v[3] = { v1, v2, v3 };
593 this->AddShaderVariable(name, 3, v);
597 double v[3] = { v1, v2, v3 };
598 this->AddShaderVariable(name, 3, v);
607 vtkSetMacro(ShowTexturesOnBackface,
bool);
608 vtkGetMacro(ShowTexturesOnBackface,
bool);
609 vtkBooleanMacro(ShowTexturesOnBackface,
bool);
693 void RemoveTexture(
const char*
name);
698 void RemoveAllTextures();
703 int GetNumberOfTextures();
715 virtual void ReleaseGraphicsResources(
vtkWindow* win);
730 static double ComputeReflectanceFromIOR(
double IORTo,
double IORFrom);
738 static double ComputeIORFromReflectance(
double reflectance,
double ior);
748 double ComputeReflectanceOfBaseLayer();
758 static void ComputeCompositeColor(
double result[3],
double ambient,
const double ambient_color[3],
759 double diffuse,
const double diffuse_color[3],
double specular,
const double specular_color[3]);
762 double AmbientColor[3];
763 double DiffuseColor[3];
764 double SpecularColor[3];
766 double VertexColor[3];
767 double SelectionColor[4] = { 1.0, 0.0, 0.0, 1.0 };
782 double EmissiveFactor[3];
786 double EdgeOpacity = 1.0;
790 float SelectionPointSize = 2.f;
791 float SelectionLineWidth = 2.f;
839 return "Physically based rendering";
862 VTK_ABI_NAMESPACE_END
void AddShaderVariable(const char *name, float v1, float v2, float v3)
Methods to provide to add shader variables from wrappers.
void SetORMTexture(vtkTexture *texture)
Set the ORM texture.
represents an object (geometry & properties) in a rendered scene
void SetInterpolationToPhong()
Set the shading interpolation method for an object.
abstract base class for most VTK objects
void AddShaderVariable(const char *name, double v)
Methods to provide to add shader variables from wrappers.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Represents an XML element and those nested inside.
vtkTypeBool EdgeVisibility
void AddShaderVariable(const char *name, double v1, double v2, double v3)
Methods to provide to add shader variables from wrappers.
represent surface properties of a geometric object
const char * GetRepresentationAsString()
Return the method of shading as a descriptive character string.
void SetInterpolationToPBR()
Set the shading interpolation method for an object.
void SetInterpolationToFlat()
Set the shading interpolation method for an object.
void AddShaderVariable(const char *name, int v1, int v2, int v3)
Methods to provide to add shader variables from wrappers.
void AddShaderVariable(const char *name, float v)
Methods to provide to add shader variables from wrappers.
abstract specification for renderers
void AddShaderVariable(const char *name, double v1, double v2)
Methods to provide to add shader variables from wrappers.
bool ShowTexturesOnBackface
std::map< std::string, vtkTexture * > MapOfTextures
void SetEmissiveTexture(vtkTexture *texture)
Set the emissive texture.
void SetRepresentationToPoints()
Control the surface geometry representation for the object.
void SetInterpolationToGouraud()
Set the shading interpolation method for an object.
window superclass for vtkRenderWindow
void AddShaderVariable(const char *name, float v1, float v2)
Methods to provide to add shader variables from wrappers.
a simple class to control print indentation
void SetCoatNormalTexture(vtkTexture *texture)
Set the coat normal texture.
void SetBaseColorTexture(vtkTexture *texture)
Set the base color texture.
void SetRepresentationToWireframe()
Control the surface geometry representation for the object.
handles properties associated with a texture map
void SetRepresentationToSurface()
Control the surface geometry representation for the object.
void SetNormalTexture(vtkTexture *texture)
Set the normal texture.
#define VTK_SIZEHINT(...)
void SetAnisotropyTexture(vtkTexture *texture)
Set the anisotropy texture.
void AddShaderVariable(const char *name, int v)
Methods to provide to add shader variables from wrappers.
virtual void BackfaceRender(vtkActor *, vtkRenderer *)
This method renders the property as a backface property.
vtkTypeBool FrontfaceCulling
double AnisotropyRotation
int LineStippleRepeatFactor
std::map< std::string, vtkTexture * > & GetAllTextures()
Returns all the textures in this property and their names.
const char * GetInterpolationAsString()
Return the method of shading as a descriptive character string.
bool RenderPointsAsSpheres
vtkTypeBool VertexVisibility
void AddShaderVariable(const char *name, int v1, int v2)
Methods to provide to add shader variables from wrappers.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkInformation * Information
vtkTypeBool BackfaceCulling
The ShaderProgram uses one or more Shader objects.