144#include "vtkRenderingCoreModule.h"
156#define VTK_WIREFRAME 1
168class vtkPropertyInternals;
217 vtkGetMacro(Lighting,
bool);
218 vtkSetMacro(Lighting,
bool);
219 vtkBooleanMacro(Lighting,
bool);
229 vtkGetMacro(RenderPointsAsSpheres,
bool);
230 vtkSetMacro(RenderPointsAsSpheres,
bool);
231 vtkBooleanMacro(RenderPointsAsSpheres,
bool);
242 vtkGetMacro(RenderLinesAsTubes,
bool);
243 vtkSetMacro(RenderLinesAsTubes,
bool);
244 vtkBooleanMacro(RenderLinesAsTubes,
bool);
252 vtkGetMacro(Interpolation,
int);
257 const char* GetInterpolationAsString();
265 vtkGetMacro(Representation,
int);
269 const char* GetRepresentationAsString();
278 virtual void SetColor(
double r,
double g,
double b);
281 void GetColor(
double rgb[3]);
282 void GetColor(
double& r,
double& g,
double& b);
298 vtkGetMacro(BaseIOR,
double);
308 vtkSetClampMacro(Metallic,
double, 0.0, 1.0);
309 vtkGetMacro(Metallic,
double);
320 vtkSetClampMacro(Roughness,
double, 0.0, 1.0);
321 vtkGetMacro(Roughness,
double);
331 vtkSetClampMacro(Anisotropy,
double, 0.0, 1.0);
332 vtkGetMacro(Anisotropy,
double);
342 vtkSetClampMacro(AnisotropyRotation,
double, 0.0, 1.0);
343 vtkGetMacro(AnisotropyRotation,
double);
353 vtkGetMacro(CoatIOR,
double);
363 vtkSetClampMacro(CoatRoughness,
double, 0.0, 1.0);
364 vtkGetMacro(CoatRoughness,
double);
374 vtkSetClampMacro(CoatStrength,
double, 0.0, 1.0);
375 vtkGetMacro(CoatStrength,
double);
384 vtkSetVector3Macro(CoatColor,
double);
385 vtkGetVector3Macro(CoatColor,
double);
395 vtkSetClampMacro(CoatNormalScale,
double, 0.0, 1.0);
396 vtkGetMacro(CoatNormalScale,
double);
405 vtkSetMacro(NormalScale,
double);
406 vtkGetMacro(NormalScale,
double);
416 vtkSetClampMacro(OcclusionStrength,
double, 0.0, 1.0);
417 vtkGetMacro(OcclusionStrength,
double);
427 vtkSetVector3Macro(EmissiveFactor,
double);
428 vtkGetVector3Macro(EmissiveFactor,
double);
438 vtkSetVector3Macro(EdgeTint,
double);
439 vtkGetVector3Macro(EdgeTint,
double);
446 vtkSetClampMacro(Ambient,
double, 0.0, 1.0);
447 vtkGetMacro(Ambient,
double);
454 vtkSetClampMacro(Diffuse,
double, 0.0, 1.0);
455 vtkGetMacro(Diffuse,
double);
462 vtkSetClampMacro(Specular,
double, 0.0, 1.0);
463 vtkGetMacro(Specular,
double);
470 vtkSetClampMacro(SpecularPower,
double, 0.0, 128.0);
471 vtkGetMacro(SpecularPower,
double);
479 vtkSetClampMacro(Opacity,
double, 0.0, 1.0);
480 vtkGetMacro(Opacity,
double);
490 vtkSetVector3Macro(AmbientColor,
double);
491 vtkGetVector3Macro(AmbientColor,
double);
499 vtkSetVector3Macro(DiffuseColor,
double);
500 vtkGetVector3Macro(DiffuseColor,
double);
507 vtkSetVector3Macro(SpecularColor,
double);
508 vtkGetVector3Macro(SpecularColor,
double);
526 vtkSetVector3Macro(EdgeColor,
double);
527 vtkGetVector3Macro(EdgeColor,
double);
545 vtkSetVector3Macro(VertexColor,
double);
546 vtkGetVector3Macro(VertexColor,
double);
554 vtkSetVector4Macro(SelectionColor,
double);
555 vtkGetVector4Macro(SelectionColor,
double);
563 vtkSetMacro(SelectionLineWidth,
float);
564 vtkGetMacro(SelectionLineWidth,
float);
572 vtkSetMacro(SelectionPointSize,
float);
573 vtkGetMacro(SelectionPointSize,
float);
582 vtkGetMacro(LineWidth,
float);
591 vtkSetMacro(LineStipplePattern,
int);
592 vtkGetMacro(LineStipplePattern,
int);
602 vtkGetMacro(LineStippleRepeatFactor,
int);
611 vtkGetMacro(PointSize,
float);
640 vtkSetStringMacro(MaterialName);
641 vtkGetStringMacro(MaterialName);
663 virtual
void AddShaderVariable(const
char*
name,
int numVars,
int* x);
664 virtual
void AddShaderVariable(const
char*
name,
int numVars,
float* x);
665 virtual
void AddShaderVariable(const
char*
name,
int numVars,
double* x);
677 int v[2] = { v1, v2 };
678 this->AddShaderVariable(
name, 2, v);
682 float v[2] = { v1, v2 };
683 this->AddShaderVariable(
name, 2, v);
687 double v[2] = { v1, v2 };
688 this->AddShaderVariable(
name, 2, v);
692 int v[3] = { v1, v2, v3 };
693 this->AddShaderVariable(
name, 3, v);
697 float v[3] = { v1, v2, v3 };
698 this->AddShaderVariable(
name, 3, v);
702 double v[3] = { v1, v2, v3 };
703 this->AddShaderVariable(
name, 3, v);
712 vtkSetMacro(ShowTexturesOnBackface,
bool);
713 vtkGetMacro(ShowTexturesOnBackface,
bool);
714 vtkBooleanMacro(ShowTexturesOnBackface,
bool);
864 double diffuse,
const double diffuse_color[3],
double specular,
const double specular_color[3]);
867 double AmbientColor[3];
868 double DiffuseColor[3];
869 double SpecularColor[3];
871 double VertexColor[3];
872 double SelectionColor[4] = { 1.0, 0.0, 0.0, 1.0 };
887 double EmissiveFactor[3];
894 float SelectionPointSize = 2.f;
895 float SelectionLineWidth = 2.f;
943 return "Physically based rendering";
represents an object (geometry & properties) in a rendered scene
a simple class to control print indentation
abstract base class for most VTK objects
represent surface properties of a geometric object
static vtkProperty * New()
Construct object with object color, ambient color, diffuse color, specular color, and edge color whit...
double ComputeReflectanceOfBaseLayer()
For PBR, calculate the reflectance of the base layer depending on the presence of a coat layer.
std::map< std::string, vtkTexture * > MapOfTextures
void SetRepresentationToPoints()
Control the surface geometry representation for the object.
void SetTexture(const char *name, vtkTexture *texture)
Set/Get the texture object to control rendering texture maps.
void SetRepresentationToWireframe()
Control the surface geometry representation for the object.
virtual void SetInformation(vtkInformation *)
Set/Get the information object associated with the Property.
int LineStippleRepeatFactor
double AnisotropyRotation
double * GetColor()
Set the color of the object.
static void ComputeCompositeColor(double result[3], double ambient, const double ambient_color[3], double diffuse, const double diffuse_color[3], double specular, const double specular_color[3])
Computes composite color.
virtual void SetColor(double a[3])
Set the color of the object.
void AddShaderVariable(const char *name, double v1, double v2)
Methods to provide to add shader variables from wrappers.
virtual void BackfaceRender(vtkActor *, vtkRenderer *)
This method renders the property as a backface property.
void SetNormalTexture(vtkTexture *texture)
Set the normal texture.
int GetNumberOfTextures()
Returns the number of textures in this property.
void SetEmissiveTexture(vtkTexture *texture)
Set the emissive texture.
void SetInterpolationToFlat()
Set the shading interpolation method for an object.
void RemoveAllTextures()
Remove all the textures.
void SetBaseColorTexture(vtkTexture *texture)
Set the base color texture.
void SetCoatNormalTexture(vtkTexture *texture)
Set the coat normal texture.
void SetInterpolationToGouraud()
Set the shading interpolation method for an object.
vtkTypeBool BackfaceCulling
void DeepCopy(vtkProperty *p)
Assign one property to another.
vtkTexture * GetTexture(const char *name)
Set/Get the texture object to control rendering texture maps.
void AddShaderVariable(const char *name, double v)
Methods to provide to add shader variables from wrappers.
void SetInterpolationToPBR()
Set the shading interpolation method for an object.
virtual void Render(vtkActor *, vtkRenderer *)
This method causes the property to set up whatever is required for its instance variables.
const char * GetInterpolationAsString()
Return the method of shading as a descriptive character string.
void SetRepresentationToSurface()
Control the surface geometry representation for the object.
void SetInterpolationToPhong()
Set the shading interpolation method for an object.
void AddShaderVariable(const char *name, double v1, double v2, double v3)
Methods to provide to add shader variables from wrappers.
bool RenderPointsAsSpheres
void SetORMTexture(vtkTexture *texture)
Set the ORM texture.
void AddShaderVariable(const char *name, int v1, int v2, int v3)
Methods to provide to add shader variables from wrappers.
virtual void SetColor(double r, double g, double b)
Set the color of the object.
vtkInformation * Information
static double ComputeReflectanceFromIOR(double IORTo, double IORFrom)
For PBR, calculate the reflectance from the refractive index of ingoing and outgoing interfaces.
void AddShaderVariable(const char *name, float v1, float v2, float v3)
Methods to provide to add shader variables from wrappers.
virtual void ReleaseGraphicsResources(vtkWindow *win)
Release any graphics resources that are being consumed by this property.
vtkTypeBool EdgeVisibility
vtkTypeBool VertexVisibility
void AddShaderVariable(const char *name, int 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.
void SetAnisotropyTexture(vtkTexture *texture)
Set the anisotropy texture.
vtkTypeBool FrontfaceCulling
void RemoveTexture(const char *name)
Remove a texture from the collection.
void AddShaderVariable(const char *name, float v1, float v2)
Methods to provide to add shader variables from wrappers.
bool ShowTexturesOnBackface
static double ComputeIORFromReflectance(double reflectance, double ior)
For PBR, calculate the refractive index from the reflectance of the interface and the refractive inde...
virtual void PostRender(vtkActor *, vtkRenderer *)
This method is called after the actor has been rendered.
void AddShaderVariable(const char *name, int v1, int v2)
Methods to provide to add shader variables from wrappers.
std::map< std::string, vtkTexture * > & GetAllTextures()
Returns all the textures in this property and their names.
const char * GetRepresentationAsString()
Return the method of shading as a descriptive character string.
void AddShaderVariable(const char *name, float v)
Methods to provide to add shader variables from wrappers.
abstract specification for renderers
The ShaderProgram uses one or more Shader objects.
handles properties associated with a texture map
window superclass for vtkRenderWindow
Represents an XML element and those nested inside.
#define VTK_SIZEHINT(...)