35 #include "vtkRenderingCoreModule.h"
47 #define VTK_WIREFRAME 1
59 class vtkPropertyInternals;
108 vtkGetMacro(Lighting,
bool);
109 vtkSetMacro(Lighting,
bool);
110 vtkBooleanMacro(Lighting,
bool);
120 vtkGetMacro(RenderPointsAsSpheres,
bool);
121 vtkSetMacro(RenderPointsAsSpheres,
bool);
122 vtkBooleanMacro(RenderPointsAsSpheres,
bool);
133 vtkGetMacro(RenderLinesAsTubes,
bool);
134 vtkSetMacro(RenderLinesAsTubes,
bool);
135 vtkBooleanMacro(RenderLinesAsTubes,
bool);
143 vtkGetMacro(Interpolation,
int);
148 const char* GetInterpolationAsString();
156 vtkGetMacro(Representation,
int);
160 const char* GetRepresentationAsString();
169 virtual void SetColor(
double r,
double g,
double b);
172 void GetColor(
double rgb[3]);
173 void GetColor(
double& r,
double& g,
double& b);
189 vtkGetMacro(BaseIOR,
double);
199 vtkSetClampMacro(Metallic,
double, 0.0, 1.0);
200 vtkGetMacro(Metallic,
double);
211 vtkSetClampMacro(Roughness,
double, 0.0, 1.0);
212 vtkGetMacro(Roughness,
double);
222 vtkSetClampMacro(Anisotropy,
double, 0.0, 1.0);
223 vtkGetMacro(Anisotropy,
double);
233 vtkSetClampMacro(AnisotropyRotation,
double, 0.0, 1.0);
234 vtkGetMacro(AnisotropyRotation,
double);
244 vtkGetMacro(CoatIOR,
double);
254 vtkSetClampMacro(CoatRoughness,
double, 0.0, 1.0);
255 vtkGetMacro(CoatRoughness,
double);
265 vtkSetClampMacro(CoatStrength,
double, 0.0, 1.0);
266 vtkGetMacro(CoatStrength,
double);
275 vtkSetVector3Macro(CoatColor,
double);
276 vtkGetVector3Macro(CoatColor,
double);
286 vtkSetClampMacro(CoatNormalScale,
double, 0.0, 1.0);
287 vtkGetMacro(CoatNormalScale,
double);
296 vtkSetMacro(NormalScale,
double);
297 vtkGetMacro(NormalScale,
double);
307 vtkSetClampMacro(OcclusionStrength,
double, 0.0, 1.0);
308 vtkGetMacro(OcclusionStrength,
double);
318 vtkSetVector3Macro(EmissiveFactor,
double);
319 vtkGetVector3Macro(EmissiveFactor,
double);
329 vtkSetVector3Macro(EdgeTint,
double);
330 vtkGetVector3Macro(EdgeTint,
double);
337 vtkSetClampMacro(Ambient,
double, 0.0, 1.0);
338 vtkGetMacro(Ambient,
double);
345 vtkSetClampMacro(Diffuse,
double, 0.0, 1.0);
346 vtkGetMacro(Diffuse,
double);
353 vtkSetClampMacro(Specular,
double, 0.0, 1.0);
354 vtkGetMacro(Specular,
double);
361 vtkSetClampMacro(SpecularPower,
double, 0.0, 128.0);
362 vtkGetMacro(SpecularPower,
double);
370 vtkSetClampMacro(Opacity,
double, 0.0, 1.0);
371 vtkGetMacro(Opacity,
double);
381 vtkSetVector3Macro(AmbientColor,
double);
382 vtkGetVector3Macro(AmbientColor,
double);
390 vtkSetVector3Macro(DiffuseColor,
double);
391 vtkGetVector3Macro(DiffuseColor,
double);
398 vtkSetVector3Macro(SpecularColor,
double);
399 vtkGetVector3Macro(SpecularColor,
double);
417 vtkSetVector3Macro(EdgeColor,
double);
418 vtkGetVector3Macro(EdgeColor,
double);
436 vtkSetVector3Macro(VertexColor,
double);
437 vtkGetVector3Macro(VertexColor,
double);
445 vtkSetVector4Macro(SelectionColor,
double);
446 vtkGetVector4Macro(SelectionColor,
double);
454 vtkSetMacro(SelectionLineWidth,
float);
455 vtkGetMacro(SelectionLineWidth,
float);
463 vtkSetMacro(SelectionPointSize,
float);
464 vtkGetMacro(SelectionPointSize,
float);
473 vtkGetMacro(LineWidth,
float);
482 vtkSetMacro(LineStipplePattern,
int);
483 vtkGetMacro(LineStipplePattern,
int);
493 vtkGetMacro(LineStippleRepeatFactor,
int);
502 vtkGetMacro(PointSize,
float);
531 vtkSetStringMacro(MaterialName);
532 vtkGetStringMacro(MaterialName);
554 virtual
void AddShaderVariable(const
char*
name,
int numVars,
int* x);
555 virtual
void AddShaderVariable(const
char*
name,
int numVars,
float* x);
556 virtual
void AddShaderVariable(const
char*
name,
int numVars,
double* x);
568 int v[2] = { v1, v2 };
569 this->AddShaderVariable(
name, 2, v);
573 float v[2] = { v1, v2 };
574 this->AddShaderVariable(
name, 2, v);
578 double v[2] = { v1, v2 };
579 this->AddShaderVariable(
name, 2, v);
583 int v[3] = { v1, v2, v3 };
584 this->AddShaderVariable(
name, 3, v);
588 float v[3] = { v1, v2, v3 };
589 this->AddShaderVariable(
name, 3, v);
593 double v[3] = { v1, v2, v3 };
594 this->AddShaderVariable(
name, 3, v);
603 vtkSetMacro(ShowTexturesOnBackface,
bool);
604 vtkGetMacro(ShowTexturesOnBackface,
bool);
605 vtkBooleanMacro(ShowTexturesOnBackface,
bool);
755 double diffuse,
const double diffuse_color[3],
double specular,
const double specular_color[3]);
758 double AmbientColor[3];
759 double DiffuseColor[3];
760 double SpecularColor[3];
762 double VertexColor[3];
763 double SelectionColor[4] = { 1.0, 0.0, 0.0, 1.0 };
778 double EmissiveFactor[3];
785 float SelectionPointSize = 2.f;
786 float SelectionLineWidth = 2.f;
834 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
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
double * GetColor()
Set the color of the object.
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
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.
static vtkProperty * New()
Construct object with object color, ambient color, diffuse color, specular color, and edge color whit...
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.
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.
vtkTexture * GetTexture(const char *name)
Set/Get the texture object to control rendering texture maps.
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.
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.
std::map< std::string, vtkTexture * > & GetAllTextures()
Returns all the textures in this property and their names.
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(...)