38 #include "vtkRenderingCoreModule.h"
50 #define VTK_WIREFRAME 1
53 VTK_ABI_NAMESPACE_BEGIN
63 class vtkPropertyInternals;
112 vtkGetMacro(Lighting,
bool);
113 vtkSetMacro(Lighting,
bool);
114 vtkBooleanMacro(Lighting,
bool);
124 vtkGetMacro(RenderPointsAsSpheres,
bool);
125 vtkSetMacro(RenderPointsAsSpheres,
bool);
126 vtkBooleanMacro(RenderPointsAsSpheres,
bool);
137 vtkGetMacro(RenderLinesAsTubes,
bool);
138 vtkSetMacro(RenderLinesAsTubes,
bool);
139 vtkBooleanMacro(RenderLinesAsTubes,
bool);
147 vtkGetMacro(Interpolation,
int);
152 const char* GetInterpolationAsString();
160 vtkGetMacro(Representation,
int);
164 const char* GetRepresentationAsString();
173 virtual void SetColor(
double r,
double g,
double b);
176 void GetColor(
double rgb[3]);
177 void GetColor(
double& r,
double& g,
double& b);
193 vtkGetMacro(BaseIOR,
double);
203 vtkSetClampMacro(Metallic,
double, 0.0, 1.0);
204 vtkGetMacro(Metallic,
double);
215 vtkSetClampMacro(Roughness,
double, 0.0, 1.0);
216 vtkGetMacro(Roughness,
double);
226 vtkSetClampMacro(Anisotropy,
double, 0.0, 1.0);
227 vtkGetMacro(Anisotropy,
double);
237 vtkSetClampMacro(AnisotropyRotation,
double, 0.0, 1.0);
238 vtkGetMacro(AnisotropyRotation,
double);
248 vtkGetMacro(CoatIOR,
double);
258 vtkSetClampMacro(CoatRoughness,
double, 0.0, 1.0);
259 vtkGetMacro(CoatRoughness,
double);
269 vtkSetClampMacro(CoatStrength,
double, 0.0, 1.0);
270 vtkGetMacro(CoatStrength,
double);
279 vtkSetVector3Macro(CoatColor,
double);
280 vtkGetVector3Macro(CoatColor,
double);
290 vtkSetClampMacro(CoatNormalScale,
double, 0.0, 1.0);
291 vtkGetMacro(CoatNormalScale,
double);
300 vtkSetMacro(NormalScale,
double);
301 vtkGetMacro(NormalScale,
double);
311 vtkSetClampMacro(OcclusionStrength,
double, 0.0, 1.0);
312 vtkGetMacro(OcclusionStrength,
double);
322 vtkSetVector3Macro(EmissiveFactor,
double);
323 vtkGetVector3Macro(EmissiveFactor,
double);
333 vtkSetVector3Macro(EdgeTint,
double);
334 vtkGetVector3Macro(EdgeTint,
double);
341 vtkSetClampMacro(Ambient,
double, 0.0, 1.0);
342 vtkGetMacro(Ambient,
double);
349 vtkSetClampMacro(Diffuse,
double, 0.0, 1.0);
350 vtkGetMacro(Diffuse,
double);
357 vtkSetClampMacro(Specular,
double, 0.0, 1.0);
358 vtkGetMacro(Specular,
double);
365 vtkSetClampMacro(SpecularPower,
double, 0.0, 128.0);
366 vtkGetMacro(SpecularPower,
double);
374 vtkSetClampMacro(Opacity,
double, 0.0, 1.0);
375 vtkGetMacro(Opacity,
double);
383 vtkSetClampMacro(EdgeOpacity,
double, 0.0, 1.0);
384 vtkGetMacro(EdgeOpacity,
double);
394 vtkSetVector3Macro(AmbientColor,
double);
395 vtkGetVector3Macro(AmbientColor,
double);
403 vtkSetVector3Macro(DiffuseColor,
double);
404 vtkGetVector3Macro(DiffuseColor,
double);
411 vtkSetVector3Macro(SpecularColor,
double);
412 vtkGetVector3Macro(SpecularColor,
double);
430 vtkSetVector3Macro(EdgeColor,
double);
431 vtkGetVector3Macro(EdgeColor,
double);
449 vtkSetVector3Macro(VertexColor,
double);
450 vtkGetVector3Macro(VertexColor,
double);
458 vtkSetVector4Macro(SelectionColor,
double);
459 vtkGetVector4Macro(SelectionColor,
double);
467 vtkSetMacro(SelectionLineWidth,
float);
468 vtkGetMacro(SelectionLineWidth,
float);
476 vtkSetMacro(SelectionPointSize,
float);
477 vtkGetMacro(SelectionPointSize,
float);
486 vtkGetMacro(LineWidth,
float);
495 vtkSetMacro(LineStipplePattern,
int);
496 vtkGetMacro(LineStipplePattern,
int);
506 vtkGetMacro(LineStippleRepeatFactor,
int);
515 vtkGetMacro(PointSize,
float);
544 vtkSetStringMacro(MaterialName);
545 vtkGetStringMacro(MaterialName);
567 virtual
void AddShaderVariable(const
char*
name,
int numVars,
int* x);
568 virtual
void AddShaderVariable(const
char*
name,
int numVars,
float* x);
569 virtual
void AddShaderVariable(const
char*
name,
int numVars,
double* x);
581 int v[2] = { v1, v2 };
582 this->AddShaderVariable(
name, 2, v);
586 float v[2] = { v1, v2 };
587 this->AddShaderVariable(
name, 2, v);
591 double v[2] = { v1, v2 };
592 this->AddShaderVariable(
name, 2, v);
596 int v[3] = { v1, v2, v3 };
597 this->AddShaderVariable(
name, 3, v);
601 float v[3] = { v1, v2, v3 };
602 this->AddShaderVariable(
name, 3, v);
606 double v[3] = { v1, v2, v3 };
607 this->AddShaderVariable(
name, 3, v);
616 vtkSetMacro(ShowTexturesOnBackface,
bool);
617 vtkGetMacro(ShowTexturesOnBackface,
bool);
618 vtkBooleanMacro(ShowTexturesOnBackface,
bool);
768 double diffuse,
const double diffuse_color[3],
double specular,
const double specular_color[3]);
771 double AmbientColor[3];
772 double DiffuseColor[3];
773 double SpecularColor[3];
775 double VertexColor[3];
776 double SelectionColor[4] = { 1.0, 0.0, 0.0, 1.0 };
791 double EmissiveFactor[3];
795 double EdgeOpacity = 1.0;
799 float SelectionPointSize = 2.f;
800 float SelectionLineWidth = 2.f;
848 return "Physically based rendering";
871 VTK_ABI_NAMESPACE_END
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(...)