138#include "vtkRenderingCoreModule.h"
151#define VTK_WIREFRAME 1
154VTK_ABI_NAMESPACE_BEGIN
164class vtkPropertyInternals;
213 vtkGetMacro(Lighting,
bool);
214 vtkSetMacro(Lighting,
bool);
215 vtkBooleanMacro(Lighting,
bool);
225 vtkGetMacro(RenderPointsAsSpheres,
bool);
226 vtkSetMacro(RenderPointsAsSpheres,
bool);
227 vtkBooleanMacro(RenderPointsAsSpheres,
bool);
238 vtkGetMacro(RenderLinesAsTubes,
bool);
239 vtkSetMacro(RenderLinesAsTubes,
bool);
240 vtkBooleanMacro(RenderLinesAsTubes,
bool);
248 vtkGetMacro(Interpolation,
int);
253 const char* GetInterpolationAsString();
261 vtkGetMacro(Representation,
int);
265 const char* GetRepresentationAsString();
274 virtual void SetColor(
double r,
double g,
double b);
277 void GetColor(
double rgb[3]);
278 void GetColor(
double& r,
double& g,
double& b);
294 vtkGetMacro(BaseIOR,
double);
304 vtkSetClampMacro(Metallic,
double, 0.0, 1.0);
305 vtkGetMacro(Metallic,
double);
316 vtkSetClampMacro(Roughness,
double, 0.0, 1.0);
317 vtkGetMacro(Roughness,
double);
327 vtkSetClampMacro(Anisotropy,
double, 0.0, 1.0);
328 vtkGetMacro(Anisotropy,
double);
338 vtkSetClampMacro(AnisotropyRotation,
double, 0.0, 1.0);
339 vtkGetMacro(AnisotropyRotation,
double);
349 vtkGetMacro(CoatIOR,
double);
359 vtkSetClampMacro(CoatRoughness,
double, 0.0, 1.0);
360 vtkGetMacro(CoatRoughness,
double);
370 vtkSetClampMacro(CoatStrength,
double, 0.0, 1.0);
371 vtkGetMacro(CoatStrength,
double);
380 vtkSetVector3Macro(CoatColor,
double);
381 vtkGetVector3Macro(CoatColor,
double);
391 vtkSetClampMacro(CoatNormalScale,
double, 0.0, 1.0);
392 vtkGetMacro(CoatNormalScale,
double);
401 vtkSetMacro(NormalScale,
double);
402 vtkGetMacro(NormalScale,
double);
412 vtkSetClampMacro(OcclusionStrength,
double, 0.0, 1.0);
413 vtkGetMacro(OcclusionStrength,
double);
423 vtkSetVector3Macro(EmissiveFactor,
double);
424 vtkGetVector3Macro(EmissiveFactor,
double);
434 vtkSetVector3Macro(EdgeTint,
double);
435 vtkGetVector3Macro(EdgeTint,
double);
442 vtkSetClampMacro(Ambient,
double, 0.0, 1.0);
443 vtkGetMacro(Ambient,
double);
450 vtkSetClampMacro(Diffuse,
double, 0.0, 1.0);
451 vtkGetMacro(Diffuse,
double);
458 vtkSetClampMacro(Specular,
double, 0.0, 1.0);
459 vtkGetMacro(Specular,
double);
466 vtkSetClampMacro(SpecularPower,
double, 0.0, 128.0);
467 vtkGetMacro(SpecularPower,
double);
475 vtkSetClampMacro(Opacity,
double, 0.0, 1.0);
476 vtkGetMacro(Opacity,
double);
484 vtkSetClampMacro(EdgeOpacity,
double, 0.0, 1.0);
485 vtkGetMacro(EdgeOpacity,
double);
495 vtkSetVector3Macro(AmbientColor,
double);
496 vtkGetVector3Macro(AmbientColor,
double);
504 vtkSetVector3Macro(DiffuseColor,
double);
505 vtkGetVector3Macro(DiffuseColor,
double);
512 vtkSetVector3Macro(SpecularColor,
double);
513 vtkGetVector3Macro(SpecularColor,
double);
531 vtkSetVector3Macro(EdgeColor,
double);
532 vtkGetVector3Macro(EdgeColor,
double);
550 vtkSetVector3Macro(VertexColor,
double);
551 vtkGetVector3Macro(VertexColor,
double);
559 vtkSetVector4Macro(SelectionColor,
double);
560 vtkGetVector4Macro(SelectionColor,
double);
568 vtkSetMacro(SelectionLineWidth,
float);
569 vtkGetMacro(SelectionLineWidth,
float);
577 vtkSetMacro(SelectionPointSize,
float);
578 vtkGetMacro(SelectionPointSize,
float);
587 vtkGetMacro(LineWidth,
float);
596 vtkSetMacro(LineStipplePattern,
int);
597 vtkGetMacro(LineStipplePattern,
int);
607 vtkGetMacro(LineStippleRepeatFactor,
int);
616 vtkGetMacro(PointSize,
float);
645 vtkSetStringMacro(MaterialName);
646 vtkGetStringMacro(MaterialName);
668 virtual
void AddShaderVariable(const
char* name,
int numVars,
int* x);
669 virtual
void AddShaderVariable(const
char* name,
int numVars,
float* x);
670 virtual
void AddShaderVariable(const
char* name,
int numVars,
double* x);
682 int v[2] = { v1, v2 };
683 this->AddShaderVariable(name, 2, v);
687 float v[2] = { v1, v2 };
688 this->AddShaderVariable(name, 2, v);
692 double v[2] = { v1, v2 };
693 this->AddShaderVariable(name, 2, v);
697 int v[3] = { v1, v2, v3 };
698 this->AddShaderVariable(name, 3, v);
702 float v[3] = { v1, v2, v3 };
703 this->AddShaderVariable(name, 3, v);
707 double v[3] = { v1, v2, v3 };
708 this->AddShaderVariable(name, 3, v);
717 vtkSetMacro(ShowTexturesOnBackface,
bool);
718 vtkGetMacro(ShowTexturesOnBackface,
bool);
719 vtkBooleanMacro(ShowTexturesOnBackface,
bool);
842 static
double ComputeReflectanceFromIOR(
double IORTo,
double IORFrom);
850 static
double ComputeIORFromReflectance(
double reflectance,
double ior);
860 double ComputeReflectanceOfBaseLayer();
870 static
void ComputeCompositeColor(
double result[3],
double ambient, const
double ambient_color[3],
871 double diffuse, const
double diffuse_color[3],
double specular, const
double specular_color[3]);
874 double AmbientColor[3];
875 double DiffuseColor[3];
876 double SpecularColor[3];
878 double VertexColor[3];
879 double SelectionColor[4] = { 1.0, 0.0, 0.0, 1.0 };
894 double EmissiveFactor[3];
898 double EdgeOpacity = 1.0;
902 float SelectionPointSize = 2.f;
903 float SelectionLineWidth = 2.f;
951 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...
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.
int LineStippleRepeatFactor
double AnisotropyRotation
double * GetColor()
Set the color of the object.
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
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
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(...)
#define VTK_MARSHAL_EXCLUDE_REASON_NOT_SUPPORTED
#define VTK_MARSHALEXCLUDE(reason)