VTK
9.1.0
|
helper class to set custom uniform variables in GPU shaders. More...
#include <vtkUniforms.h>
Public Types | |
enum | TupleType { TupleTypeInvalid = 0 , TupleTypeScalar , TupleTypeVector , TupleTypeMatrix , NumberOfTupleTypes } |
Types of tuples that can be stored : scalar, vector, matrix. More... | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual vtkTypeBool | IsA (const char *type) |
Return 1 if this class is the same type of (or a subclass of) the named class. More... | |
vtkUniforms * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. More... | |
virtual vtkMTimeType | GetUniformListMTime ()=0 |
virtual void | RemoveUniform (const char *name)=0 |
Remove uniform variable named name . More... | |
virtual void | RemoveAllUniforms ()=0 |
Remove all uniform variables. More... | |
virtual int | GetNumberOfUniforms ()=0 |
Get number of all uniforms stored in this class. More... | |
virtual const char * | GetNthUniformName (vtkIdType uniformIndex)=0 |
Get number of all uniforms stored in this class. More... | |
virtual int | GetUniformScalarType (const char *name)=0 |
Get type of scalars stored in uniform name . More... | |
virtual TupleType | GetUniformTupleType (const char *name)=0 |
Get the tuple type stored in uniform name . More... | |
virtual int | GetUniformNumberOfComponents (const char *name)=0 |
Get the number of components stored in each tuple of uniform name . More... | |
virtual int | GetUniformNumberOfTuples (const char *name)=0 |
Number of tuples of uniform name that contains a variable-size vector. More... | |
virtual void | SetUniform (const char *name, vtkUniforms::TupleType tt, int nbComponents, const std::vector< int > &value)=0 |
Generic setters and getter. More... | |
virtual void | SetUniform (const char *name, vtkUniforms::TupleType tt, int nbComponents, const std::vector< float > &value)=0 |
Generic setters and getter. More... | |
virtual bool | GetUniform (const char *name, std::vector< int > &value)=0 |
Generic setters and getter. More... | |
virtual bool | GetUniform (const char *name, std::vector< float > &value)=0 |
Generic setters and getter. More... | |
virtual void | SetUniformi (const char *name, int v)=0 |
Set the name uniform value to v . More... | |
virtual void | SetUniformf (const char *name, float v)=0 |
Set the name uniform value to v . More... | |
virtual void | SetUniform2i (const char *name, const int v[2])=0 |
Set the name uniform value to v . More... | |
virtual void | SetUniform2f (const char *name, const float v[2])=0 |
Set the name uniform value to v . More... | |
virtual void | SetUniform3f (const char *name, const float v[3])=0 |
Set the name uniform value to v . More... | |
virtual void | SetUniform4f (const char *name, const float v[4])=0 |
Set the name uniform value to v . More... | |
virtual void | SetUniformMatrix3x3 (const char *name, float *v)=0 |
Set the name uniform value to v . More... | |
virtual void | SetUniformMatrix4x4 (const char *name, float *v)=0 |
Set the name uniform value to v . More... | |
virtual void | SetUniform1iv (const char *name, const int count, const int *f)=0 |
Set the name uniform array to f with count elements. More... | |
virtual void | SetUniform1fv (const char *name, const int count, const float *f)=0 |
Set the name uniform array to f with count elements. More... | |
virtual void | SetUniform2fv (const char *name, const int count, const float(*f)[2])=0 |
Set the name uniform array to f with count elements. More... | |
virtual void | SetUniform3fv (const char *name, const int count, const float(*f)[3])=0 |
Set the name uniform array to f with count elements. More... | |
virtual void | SetUniform4fv (const char *name, const int count, const float(*f)[4])=0 |
Set the name uniform array to f with count elements. More... | |
virtual void | SetUniformMatrix4x4v (const char *name, const int count, float *v)=0 |
Set the name uniform array to f with count elements. More... | |
virtual void | SetUniform3f (const char *name, const double v[3])=0 |
Set the name uniform to v . More... | |
virtual void | SetUniform3uc (const char *name, const unsigned char v[3])=0 |
Set the name uniform to v . More... | |
virtual void | SetUniform4uc (const char *name, const unsigned char v[4])=0 |
Set the name uniform to v . More... | |
virtual void | SetUniformMatrix (const char *name, vtkMatrix3x3 *v)=0 |
Set the name uniform to v . More... | |
virtual void | SetUniformMatrix (const char *name, vtkMatrix4x4 *v)=0 |
Set the name uniform to v . More... | |
virtual bool | GetUniformi (const char *name, int &v)=0 |
Get the name uniform value. More... | |
virtual bool | GetUniformf (const char *name, float &v)=0 |
Get the name uniform value. More... | |
virtual bool | GetUniform2i (const char *name, int v[2])=0 |
Get the name uniform value. More... | |
virtual bool | GetUniform2f (const char *name, float v[2])=0 |
Get the name uniform value. More... | |
virtual bool | GetUniform3f (const char *name, float v[3])=0 |
Get the name uniform value. More... | |
virtual bool | GetUniform4f (const char *name, float v[4])=0 |
Get the name uniform value. More... | |
virtual bool | GetUniformMatrix3x3 (const char *name, float *v)=0 |
Get the name uniform value. More... | |
virtual bool | GetUniformMatrix4x4 (const char *name, float *v)=0 |
Get the name uniform value. More... | |
virtual bool | GetUniform3f (const char *name, double v[3])=0 |
Get the name uniform to v . More... | |
virtual bool | GetUniform3uc (const char *name, unsigned char v[3])=0 |
Get the name uniform to v . More... | |
virtual bool | GetUniform4uc (const char *name, unsigned char v[4])=0 |
Get the name uniform to v . More... | |
virtual bool | GetUniformMatrix (const char *name, vtkMatrix3x3 *v)=0 |
Get the name uniform to v . More... | |
virtual bool | GetUniformMatrix (const char *name, vtkMatrix4x4 *v)=0 |
Get the name uniform to v . More... | |
virtual bool | GetUniform1iv (const char *name, std::vector< int > &f)=0 |
Get the name uniform vector to f with. More... | |
virtual bool | GetUniform1fv (const char *name, std::vector< float > &f)=0 |
Get the name uniform vector to f with. More... | |
virtual bool | GetUniform2fv (const char *name, std::vector< float > &f)=0 |
Get the name uniform vector to f with. More... | |
virtual bool | GetUniform3fv (const char *name, std::vector< float > &f)=0 |
Get the name uniform vector to f with. More... | |
virtual bool | GetUniform4fv (const char *name, std::vector< float > &f)=0 |
Get the name uniform vector to f with. More... | |
virtual bool | GetUniformMatrix4x4v (const char *name, std::vector< float > &f)=0 |
Get the name uniform vector to f with. More... | |
Public Member Functions inherited from vtkObject | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
Turn debugging output on. More... | |
virtual void | DebugOff () |
Turn debugging output off. More... | |
bool | GetDebug () |
Get the value of the debug flag. More... | |
void | SetDebug (bool debugFlag) |
Set the value of the debug flag. More... | |
virtual void | Modified () |
Update the modification time for this object. More... | |
virtual vtkMTimeType | GetMTime () |
Return this object's modified time. More... | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. More... | |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
vtkTypeBool | HasObserver (unsigned long event) |
vtkTypeBool | HasObserver (const char *event) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkCommand * | GetCommand (unsigned long tag) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObserver (vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Allow user to set the AbortFlagOn() with the return value of the callback method. More... | |
int | InvokeEvent (unsigned long event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
int | InvokeEvent (const char *event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
Return the class name as a string. More... | |
virtual vtkTypeBool | IsA (const char *name) |
Return 1 if this class is the same type of (or a subclass of) the named class. More... | |
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name) |
Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More... | |
virtual void | Delete () |
Delete a VTK object. More... | |
virtual void | FastDelete () |
Delete a reference to this object. More... | |
void | InitializeObjectBase () |
void | Print (ostream &os) |
Print an object to an ostream. More... | |
virtual void | Register (vtkObjectBase *o) |
Increase the reference count (mark as used by another object). More... | |
virtual void | UnRegister (vtkObjectBase *o) |
Decrease the reference count (release by another object). More... | |
int | GetReferenceCount () |
Return the current reference count of this object. More... | |
void | SetReferenceCount (int) |
Sets the reference count. More... | |
bool | GetIsInMemkind () const |
A local state flag that remembers whether this object lives in the normal or extended memory space. More... | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
Static Public Member Functions | |
static vtkUniforms * | New () |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkUniforms * | SafeDownCast (vtkObjectBase *o) |
static std::string | TupleTypeToString (TupleType tt) |
Convert between TupleType and string. More... | |
static TupleType | StringToTupleType (const std::string &s) |
static std::string | ScalarTypeToString (int scalarType) |
Convert between scalar types an string. More... | |
static int | StringToScalarType (const std::string &s) |
Static Public Member Functions inherited from vtkObject | |
static vtkObject * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
static void | BreakOnError () |
This method is called when vtkErrorMacro executes. More... | |
static void | SetGlobalWarningDisplay (int val) |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOn () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOff () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static int | GetGlobalWarningDisplay () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
Static Public Member Functions inherited from vtkObjectBase | |
static vtkTypeBool | IsTypeOf (const char *name) |
Return 1 if this class type is the same type of (or a subclass of) the named class. More... | |
static vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name) |
Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More... | |
static vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
static void | SetMemkindDirectory (const char *directoryname) |
The name of a directory, ideally mounted -o dax, to memory map an extended memory space within. More... | |
static bool | GetUsingMemkind () |
A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space. More... | |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkUniforms ()=default | |
~vtkUniforms () override=default | |
Protected Member Functions inherited from vtkObject | |
vtkObject () | |
~vtkObject () override | |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr) |
These methods allow a command to exclusively grab all events. More... | |
void | InternalReleaseFocus () |
These methods allow a command to exclusively grab all events. More... | |
Protected Member Functions inherited from vtkObjectBase | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Additional Inherited Members | |
Static Protected Member Functions inherited from vtkObjectBase | |
static vtkMallocingFunction | GetCurrentMallocFunction () |
static vtkReallocingFunction | GetCurrentReallocFunction () |
static vtkFreeingFunction | GetCurrentFreeFunction () |
static vtkFreeingFunction | GetAlternateFreeFunction () |
Protected Attributes inherited from vtkObject | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
std::atomic< int32_t > | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
helper class to set custom uniform variables in GPU shaders.
This class implements a generic mechanism to declare and set the value of custom uniform variables to be used in GPU shader programs used by mappers. It allows users who specify custom shader code for mappers to change the value of the variable they define without triggering a costly rebuild of the shader. This class is used mostly as an interface and the implementation is found in graphics api specific derived classes (e.g.: vtkOpenGLUniforms).
Definition at line 42 of file vtkUniforms.h.
typedef vtkObject vtkUniforms::Superclass |
Definition at line 46 of file vtkUniforms.h.
Types of tuples that can be stored : scalar, vector, matrix.
Enumerator | |
---|---|
TupleTypeInvalid | |
TupleTypeScalar | |
TupleTypeVector | |
TupleTypeMatrix | |
NumberOfTupleTypes |
Definition at line 56 of file vtkUniforms.h.
|
protecteddefault |
|
overrideprotecteddefault |
|
static |
|
static |
|
virtual |
Return 1 if this class is the same type of (or a subclass of) the named class.
Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObjectBase.
Reimplemented in vtkOpenGLUniforms.
|
static |
|
protectedvirtual |
Reimplemented in vtkOpenGLUniforms.
vtkUniforms * vtkUniforms::NewInstance | ( | ) | const |
|
overridevirtual |
Methods invoked by print to print information about the object including superclasses.
Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkObject.
Reimplemented in vtkOpenGLUniforms.
|
pure virtual |
Implemented in vtkOpenGLUniforms.
|
static |
Convert between TupleType and string.
|
static |
|
static |
Convert between scalar types an string.
|
static |
|
pure virtual |
Remove uniform variable named name
.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Remove all uniform variables.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Generic setters and getter.
Set and Get the value of uniform variable name
, with TupleType tt
, number of components nbComponents
and values stored in value
. These functions simplify io of uniforms
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Generic setters and getter.
Set and Get the value of uniform variable name
, with TupleType tt
, number of components nbComponents
and values stored in value
. These functions simplify io of uniforms
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Generic setters and getter.
Set and Get the value of uniform variable name
, with TupleType tt
, number of components nbComponents
and values stored in value
. These functions simplify io of uniforms
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Generic setters and getter.
Set and Get the value of uniform variable name
, with TupleType tt
, number of components nbComponents
and values stored in value
. These functions simplify io of uniforms
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Set the name
uniform value to v
.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Set the name
uniform value to v
.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Set the name
uniform value to v
.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Set the name
uniform value to v
.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Set the name
uniform value to v
.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Set the name
uniform value to v
.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Set the name
uniform value to v
.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Set the name
uniform value to v
.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Set the name
uniform array to f
with count
elements.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Set the name
uniform array to f
with count
elements.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Set the name
uniform array to f
with count
elements.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Set the name
uniform array to f
with count
elements.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Set the name
uniform array to f
with count
elements.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Set the name
uniform array to f
with count
elements.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Set the name
uniform to v
.
The following are convenience functions and do not reflect the way the data is stored and sent to OpenGL. Data is converted to match one of the basic supported types
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Set the name
uniform to v
.
The following are convenience functions and do not reflect the way the data is stored and sent to OpenGL. Data is converted to match one of the basic supported types
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Set the name
uniform to v
.
The following are convenience functions and do not reflect the way the data is stored and sent to OpenGL. Data is converted to match one of the basic supported types
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Set the name
uniform to v
.
The following are convenience functions and do not reflect the way the data is stored and sent to OpenGL. Data is converted to match one of the basic supported types
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Set the name
uniform to v
.
The following are convenience functions and do not reflect the way the data is stored and sent to OpenGL. Data is converted to match one of the basic supported types
Implemented in vtkOpenGLUniforms.
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Get the name
uniform to v
.
The following are convenience functions and do not reflect the way the data is stored and sent to OpenGL. Data is converted from one of the basic supported types
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Get the name
uniform to v
.
The following are convenience functions and do not reflect the way the data is stored and sent to OpenGL. Data is converted from one of the basic supported types
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Get the name
uniform to v
.
The following are convenience functions and do not reflect the way the data is stored and sent to OpenGL. Data is converted from one of the basic supported types
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Get the name
uniform to v
.
The following are convenience functions and do not reflect the way the data is stored and sent to OpenGL. Data is converted from one of the basic supported types
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Get the name
uniform to v
.
The following are convenience functions and do not reflect the way the data is stored and sent to OpenGL. Data is converted from one of the basic supported types
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Get the name
uniform vector to f
with.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Get the name
uniform vector to f
with.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Get the name
uniform vector to f
with.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Get the name
uniform vector to f
with.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Get the name
uniform vector to f
with.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Get the name
uniform vector to f
with.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Get number of all uniforms stored in this class.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Get number of all uniforms stored in this class.
Valid range is between 0 and GetNumberOfUniforms() - 1.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Get type of scalars stored in uniform name
.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Get the tuple type stored in uniform name
.
This can be a scalar, a vector of a matrix.
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Get the number of components stored in each tuple of uniform name
.
for example, a uniform with tuples of matrix type and 9 components contains 3x3 matrices
Implemented in vtkOpenGLUniforms.
|
pure virtual |
Number of tuples of uniform name
that contains a variable-size vector.
For example, for 3 components uniforms of type vector, this is the number of triplets.
Implemented in vtkOpenGLUniforms.