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);
170 virtual void SetColor(
double a[3]);
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);
363 vtkSetClampMacro(LineStippleRepeatFactor,
int, 1,
VTK_INT_MAX);
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);
527 void RemoveTexture(
const char*
name);
532 void RemoveAllTextures();
537 int GetNumberOfTextures();
549 virtual void ReleaseGraphicsResources(
vtkWindow* win);
566 static void ComputeCompositeColor(
double result[3],
double ambient,
const double ambient_color[3],
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";
void AddShaderVariable(const char *name, float v1, float v2, float v3)
Methods to provide to add shader variables from wrappers.
void SetORMTexture(vtkTexture *texture)
Set the ORM texture.
represents an object (geometry & properties) in a rendered scene
void SetInterpolationToPhong()
Set the shading interpolation method for an object.
abstract base class for most VTK objects
void AddShaderVariable(const char *name, double 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.
Represents an XML element and those nested inside.
vtkTypeBool EdgeVisibility
void AddShaderVariable(const char *name, double v1, double v2, double v3)
Methods to provide to add shader variables from wrappers.
represent surface properties of a geometric object
const char * GetRepresentationAsString()
Return the method of shading as a descriptive character string.
void SetInterpolationToPBR()
Set the shading interpolation method for an object.
void SetInterpolationToFlat()
Set the shading interpolation method for an object.
void AddShaderVariable(const char *name, int v1, int v2, int v3)
Methods to provide to add shader variables from wrappers.
void AddShaderVariable(const char *name, float v)
Methods to provide to add shader variables from wrappers.
abstract specification for renderers
void AddShaderVariable(const char *name, double v1, double v2)
Methods to provide to add shader variables from wrappers.
std::map< std::string, vtkTexture * > MapOfTextures
void SetEmissiveTexture(vtkTexture *texture)
Set the emissive texture.
void SetRepresentationToPoints()
Control the surface geometry representation for the object.
void SetInterpolationToGouraud()
Set the shading interpolation method for an object.
window superclass for vtkRenderWindow
void AddShaderVariable(const char *name, float v1, float v2)
Methods to provide to add shader variables from wrappers.
a simple class to control print indentation
void SetBaseColorTexture(vtkTexture *texture)
Set the base color texture.
void SetRepresentationToWireframe()
Control the surface geometry representation for the object.
handles properties associated with a texture map
void SetRepresentationToSurface()
Control the surface geometry representation for the object.
void SetNormalTexture(vtkTexture *texture)
Set the normal texture.
#define VTK_SIZEHINT(...)
void AddShaderVariable(const char *name, int v)
Methods to provide to add shader variables from wrappers.
virtual void BackfaceRender(vtkActor *, vtkRenderer *)
This method renders the property as a backface property.
vtkTypeBool FrontfaceCulling
int LineStippleRepeatFactor
std::map< std::string, vtkTexture * > & GetAllTextures()
Returns all the textures in this property and their names.
const char * GetInterpolationAsString()
Return the method of shading as a descriptive character string.
bool RenderPointsAsSpheres
vtkTypeBool VertexVisibility
void AddShaderVariable(const char *name, int v1, int v2)
Methods to provide to add shader variables from wrappers.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkInformation * Information
vtkTypeBool BackfaceCulling
The ShaderProgram uses one or more Shader objects.