21#ifndef vtkOSPRayMaterialLibrary_h
22#define vtkOSPRayMaterialLibrary_h
25#include "vtkRenderingRayTracingModule.h"
27VTK_ABI_NAMESPACE_BEGIN
42 void AddMaterial(
const std::string& nickname,
const std::string& implname)
override;
53 const std::string& texturename =
"unnamedTexture",
const std::string& filename =
"")
override;
60 void AddShaderVariable(
const std::string& nickname,
const std::string& variablename,
int numVars,
61 const double* x)
override;
68 const std::string& nickname,
const std::string& varname)
const override;
74 const std::string& nickname,
const std::string& varname)
const override;
92 const std::string& parentDir,
vtkTexture* textr, std::string& textureName,
93 std::string& textureFilename)
override;
a simple class to control print indentation
a collection of materials for OSPRay-based rendering
bool InternalParseJSON(const char *filename, bool fromfile, std::istream *doc) override
Parse JSON material file with OSPRay-specific backward compatibility handling.
bool ReadTextureFileOrData(const std::string &texFilenameOrData, bool fromfile, const std::string &parentDir, vtkTexture *textr, std::string &textureName, std::string &textureFilename) override
Load texture from file or inline XML data.
void AddTexture(const std::string &nickname, const std::string &varname, vtkTexture *tex, const std::string &texturename="unnamedTexture", const std::string &filename="") override
Add Texture Given a material nickname and a shader variable varname, set its data to a specific textu...
const TextureInfo * GetTextureInfo(const std::string &nickname, const std::string &varname) const override
Returns the texture information, resolving OSPRay parameter name aliases.
void AddShaderVariable(const std::string &nickname, const std::string &variablename, int numVars, const double *x) override
Add control variable Adds a new control variable validated against the OSPRay parameter dictionary.
~vtkOSPRayMaterialLibrary() override=default
std::vector< double > GetDoubleShaderVariable(const std::string &nickname, const std::string &varname) const override
Returns a uniform variable, resolving OSPRay parameter name aliases.
const char * GetFamilyName() const override
static vtkOSPRayMaterialLibrary * New()
const std::map< std::string, ParametersMap > & GetParametersDictionary() const override
Get the dictionary of all possible materials based on OSPRay documentation.
const char * GetAcceptedFamilyName() const override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkOSPRayMaterialLibrary()=default
void AddMaterial(const std::string &nickname, const std::string &implname) override
Add Material Adds a new material nickname to the set of known materials.
vtkRenderMaterialLibrary()
virtual void AddShaderVariable(const std::string &nickname, const std::string &variablename, int numVars, const double *x)
Add a shader variable to a material.
handles properties associated with a texture map