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";