40 #include "vtkRenderingCoreModule.h" 50 #define VTK_WIREFRAME 1 63 class vtkPropertyInternals;
112 vtkGetMacro(Lighting,
bool);
124 vtkGetMacro(RenderPointsAsSpheres,
bool);
137 vtkGetMacro(RenderLinesAsTubes,
bool);
147 vtkGetMacro(Interpolation,
int);
149 { this->SetInterpolation(
VTK_FLAT); }
154 const char *GetInterpolationAsString();
162 vtkGetMacro(Representation,
int);
169 const char *GetRepresentationAsString();
178 virtual void SetColor(
double r,
double g,
double b);
179 virtual void SetColor(
double a[3]);
181 void GetColor(
double rgb[3]);
182 void GetColor(
double &r,
double &g,
double &b);
189 vtkSetClampMacro(Ambient,
double, 0.0, 1.0);
190 vtkGetMacro(Ambient,
double);
197 vtkSetClampMacro(Diffuse,
double, 0.0, 1.0);
198 vtkGetMacro(Diffuse,
double);
205 vtkSetClampMacro(Specular,
double, 0.0, 1.0);
206 vtkGetMacro(Specular,
double);
213 vtkSetClampMacro(SpecularPower,
double, 0.0, 128.0);
214 vtkGetMacro(SpecularPower,
double);
222 vtkSetClampMacro(Opacity,
double, 0.0, 1.0);
223 vtkGetMacro(Opacity,
double);
233 vtkSetVector3Macro(AmbientColor,
double);
234 vtkGetVector3Macro(AmbientColor,
double);
241 vtkSetVector3Macro(DiffuseColor,
double);
242 vtkGetVector3Macro(DiffuseColor,
double);
249 vtkSetVector3Macro(SpecularColor,
double);
250 vtkGetVector3Macro(SpecularColor,
double);
259 vtkGetMacro(EdgeVisibility,
int);
268 vtkSetVector3Macro(EdgeColor,
double);
269 vtkGetVector3Macro(EdgeColor,
double);
278 vtkGetMacro(VertexVisibility,
int);
287 vtkSetVector3Macro(VertexColor,
double);
288 vtkGetVector3Macro(VertexColor,
double);
297 vtkGetMacro(LineWidth,
float);
307 vtkGetMacro(LineStipplePattern,
int);
316 vtkSetClampMacro(LineStippleRepeatFactor,
int, 1,
VTK_INT_MAX);
317 vtkGetMacro(LineStippleRepeatFactor,
int);
326 vtkGetMacro(PointSize,
float);
335 vtkGetMacro(BackfaceCulling,
int);
346 vtkGetMacro(FrontfaceCulling,
int);
355 vtkSetStringMacro(MaterialName);
365 vtkGetMacro(Shading,
int);
384 virtual void AddShaderVariable(
const char *
name,
int numVars,
int *x);
385 virtual void AddShaderVariable(
const char *
name,
int numVars,
float *x);
386 virtual void AddShaderVariable(
const char *
name,
int numVars,
double *x);
394 { this->AddShaderVariable(
name, 1, &v); }
396 { this->AddShaderVariable(
name, 1, &v); }
398 { this->AddShaderVariable(
name, 1, &v); }
402 this->AddShaderVariable(
name, 2, v);
406 float v[2] = {v1, v2};
407 this->AddShaderVariable(
name, 2, v);
411 double v[2] = {v1, v2};
412 this->AddShaderVariable(
name, 2, v);
416 int v[3] = {v1, v2, v3};
417 this->AddShaderVariable(
name, 3, v);
421 float v[3] = {v1, v2, v3};
422 this->AddShaderVariable(
name, 3, v);
426 double v[3] = {v1, v2, v3};
427 this->AddShaderVariable(
name, 3, v);
449 void SetTexture(
int unit,
vtkTexture* texture);
451 void RemoveTexture(
int unit);
458 void RemoveTexture(
const char*
name);
463 void RemoveAllTextures();
468 int GetNumberOfTextures();
475 virtual void ReleaseGraphicsResources(
vtkWindow *win);
483 VTK_TEXTURE_UNIT_0 = 0,
508 static void ComputeCompositeColor(
double result[3],
509 double ambient,
const double ambient_color[3],
510 double diffuse,
const double diffuse_color[3],
511 double specular,
const double specular_color[3]);
514 double AmbientColor[3];
515 double DiffuseColor[3];
516 double SpecularColor[3];
518 double VertexColor[3];
546 int GetTextureUnitAtIndex(
int index);
547 int GetTextureUnit(
const char*
name);
556 vtkPropertyInternals* Internals;
void AddShaderVariable(const char *name, float v1, float v2, float v3)
Methods to provide to add shader variables from tcl.
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
VTKTextureUnit
Used to specify which texture unit a texture will use.
void AddShaderVariable(const char *name, double v)
Methods to provide to add shader variables from tcl.
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.
void AddShaderVariable(const char *name, double v1, double v2, double v3)
Methods to provide to add shader variables from tcl.
represent surface properties of a geometric object
const char * GetRepresentationAsString()
Return the method of shading as a descriptive character string.
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 tcl.
void AddShaderVariable(const char *name, float v)
Methods to provide to add shader variables from tcl.
abstract specification for renderers
void AddShaderVariable(const char *name, double v1, double v2)
Methods to provide to add shader variables from tcl.
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 tcl.
a simple class to control print indentation
void SetRepresentationToWireframe()
Control the surface geometry representation for the object.
virtual vtkShaderDeviceAdapter2 * GetShaderDeviceAdapter2()
Get the vtkShaderDeviceAdapter2 if set, returns null otherwise.
handles properties associated with a texture map
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
void SetRepresentationToSurface()
Control the surface geometry representation for the object.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
void AddShaderVariable(const char *name, int v)
Methods to provide to add shader variables from tcl.
virtual void BackfaceRender(vtkActor *, vtkRenderer *)
This method renders the property as a backface property.
int LineStippleRepeatFactor
const char * GetInterpolationAsString()
Return the method of shading as a descriptive character string.
bool RenderPointsAsSpheres
void AddShaderVariable(const char *name, int v1, int v2)
Methods to provide to add shader variables from tcl.
an adapter to pass generic vertex attributes to the rendering pipeline.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkInformation * Information
The ShaderProgram uses one or more Shader objects.