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);
183 vtkSetClampMacro(Metallic,
double, 0.0, 1.0);
184 vtkGetMacro(Metallic,
double);
195 vtkSetClampMacro(Roughness,
double, 0.0, 1.0);
196 vtkGetMacro(Roughness,
double);
205 vtkSetMacro(NormalScale,
double);
206 vtkGetMacro(NormalScale,
double);
216 vtkSetClampMacro(OcclusionStrength,
double, 0.0, 1.0);
217 vtkGetMacro(OcclusionStrength,
double);
227 vtkSetVector3Macro(EmissiveFactor,
double);
228 vtkGetVector3Macro(EmissiveFactor,
double);
235 vtkSetClampMacro(Ambient,
double, 0.0, 1.0);
236 vtkGetMacro(Ambient,
double);
243 vtkSetClampMacro(Diffuse,
double, 0.0, 1.0);
244 vtkGetMacro(Diffuse,
double);
251 vtkSetClampMacro(Specular,
double, 0.0, 1.0);
252 vtkGetMacro(Specular,
double);
259 vtkSetClampMacro(SpecularPower,
double, 0.0, 128.0);
260 vtkGetMacro(SpecularPower,
double);
268 vtkSetClampMacro(Opacity,
double, 0.0, 1.0);
269 vtkGetMacro(Opacity,
double);
279 vtkSetVector3Macro(AmbientColor,
double);
280 vtkGetVector3Macro(AmbientColor,
double);
288 vtkSetVector3Macro(DiffuseColor,
double);
289 vtkGetVector3Macro(DiffuseColor,
double);
296 vtkSetVector3Macro(SpecularColor,
double);
297 vtkGetVector3Macro(SpecularColor,
double);
315 vtkSetVector3Macro(EdgeColor,
double);
316 vtkGetVector3Macro(EdgeColor,
double);
334 vtkSetVector3Macro(VertexColor,
double);
335 vtkGetVector3Macro(VertexColor,
double);
344 vtkGetMacro(LineWidth,
float);
353 vtkSetMacro(LineStipplePattern,
int);
354 vtkGetMacro(LineStipplePattern,
int);
364 vtkGetMacro(LineStippleRepeatFactor,
int);
373 vtkGetMacro(PointSize,
float);
402 vtkSetStringMacro(MaterialName);
403 vtkGetStringMacro(MaterialName);
425 virtual
void AddShaderVariable(const
char*
name,
int numVars,
int* x);
426 virtual
void AddShaderVariable(const
char*
name,
int numVars,
float* x);
427 virtual
void AddShaderVariable(const
char*
name,
int numVars,
double* x);
439 int v[2] = { v1, v2 };
440 this->AddShaderVariable(
name, 2, v);
444 float v[2] = { v1, v2 };
445 this->AddShaderVariable(
name, 2, v);
449 double v[2] = { v1, v2 };
450 this->AddShaderVariable(
name, 2, v);
454 int v[3] = { v1, v2, v3 };
455 this->AddShaderVariable(
name, 3, v);
459 float v[3] = { v1, v2, v3 };
460 this->AddShaderVariable(
name, 3, v);
464 double v[3] = { v1, v2, v3 };
465 this->AddShaderVariable(
name, 3, v);
567 double diffuse,
const double diffuse_color[3],
double specular,
const double specular_color[3]);
570 double AmbientColor[3];
571 double DiffuseColor[3];
572 double SpecularColor[3];
574 double VertexColor[3];
581 double EmissiveFactor[3];
634 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
std::map< std::string, vtkTexture * > MapOfTextures
void SetRepresentationToPoints()
void SetTexture(const char *name, vtkTexture *texture)
Set/Get the texture object to control rendering texture maps.
void SetRepresentationToWireframe()
virtual void SetInformation(vtkInformation *)
int LineStippleRepeatFactor
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])
void AddShaderVariable(const char *name, double v1, double v2)
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()
void RemoveAllTextures()
Remove all the textures.
void SetBaseColorTexture(vtkTexture *texture)
Set the base color texture.
void SetInterpolationToGouraud()
vtkTypeBool BackfaceCulling
void DeepCopy(vtkProperty *p)
Assign one property to another.
void AddShaderVariable(const char *name, double v)
void SetInterpolationToPBR()
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()
void SetInterpolationToPhong()
void AddShaderVariable(const char *name, double v1, double v2, double v3)
bool RenderPointsAsSpheres
void SetORMTexture(vtkTexture *texture)
Set the ORM texture.
void AddShaderVariable(const char *name, int v1, int v2, int v3)
virtual void SetColor(double r, double g, double b)
Set the color of the object.
vtkInformation * Information
vtkTexture * GetTexture(const char *name)
void AddShaderVariable(const char *name, float v1, float v2, float v3)
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.
vtkTypeBool FrontfaceCulling
void RemoveTexture(const char *name)
Remove a texture from the collection.
void AddShaderVariable(const char *name, float v1, float v2)
virtual void PostRender(vtkActor *, vtkRenderer *)
This method is called after the actor has been rendered.
void AddShaderVariable(const char *name, int v1, int v2)
const char * GetRepresentationAsString()
Return the method of shading as a descriptive character string.
void AddShaderVariable(const char *name, float v)
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(...)