You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.3 KiB
82 lines
2.3 KiB
/*=========================================================================
|
|
|
|
Program: Visualization Toolkit
|
|
Module: $RCSfile: vtkRIBProperty.h,v $
|
|
|
|
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
|
|
All rights reserved.
|
|
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
|
|
|
|
This software is distributed WITHOUT ANY WARRANTY; without even
|
|
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
PURPOSE. See the above copyright notice for more information.
|
|
|
|
=========================================================================*/
|
|
// .NAME vtkRIBProperty - RIP Property
|
|
// .SECTION Description
|
|
// vtkRIBProperty is a subclass of vtkProperty that allows the user to
|
|
// specify named shaders for use with RenderMan. Both a surface shader
|
|
// and displacement shader can be specified. Parameters for the shaders
|
|
// can be declared and set.
|
|
//
|
|
// .SECTION See Also
|
|
// vtkRIBExporter
|
|
|
|
#ifndef __vtkRIBProperty_h
|
|
#define __vtkRIBProperty_h
|
|
|
|
#include "vtkProperty.h"
|
|
|
|
class vtkRIBRenderer;
|
|
|
|
class VTK_HYBRID_EXPORT vtkRIBProperty : public vtkProperty
|
|
{
|
|
public:
|
|
static vtkRIBProperty *New();
|
|
vtkTypeRevisionMacro(vtkRIBProperty,vtkProperty);
|
|
void PrintSelf(ostream& os, vtkIndent indent);
|
|
|
|
// Description:
|
|
// Specify the name of a surface shader.
|
|
vtkSetStringMacro(SurfaceShader);
|
|
vtkGetStringMacro(SurfaceShader);
|
|
|
|
// Description:
|
|
// Specify the name of a displacement shader.
|
|
vtkSetStringMacro(DisplacementShader);
|
|
vtkGetStringMacro(DisplacementShader);
|
|
|
|
// Description:
|
|
// Specify declarations for variables..
|
|
void SetVariable (char *variable, char *declaration);
|
|
void AddVariable (char *variable, char *declaration);
|
|
|
|
// Description:
|
|
// Get variable declarations
|
|
char *GetDeclarations ();
|
|
|
|
// Description:
|
|
// Specify parameter values for variables.
|
|
void SetParameter (char *parameter, char *value);
|
|
void AddParameter (char *parameter, char *value);
|
|
|
|
// Description:
|
|
// Get parameters.
|
|
char *GetParameters ();
|
|
|
|
protected:
|
|
vtkRIBProperty();
|
|
~vtkRIBProperty();
|
|
|
|
void Render(vtkActor *a, vtkRenderer *ren);
|
|
vtkProperty *Property;
|
|
char *SurfaceShader;
|
|
char *DisplacementShader;
|
|
char *Declarations;
|
|
char *Parameters;
|
|
private:
|
|
vtkRIBProperty(const vtkRIBProperty&); // Not implemented.
|
|
void operator=(const vtkRIBProperty&); // Not implemented.
|
|
};
|
|
|
|
#endif
|
|
|