VTK  9.3.20240424
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
vtkOpenGLUniforms Class Reference

helper class to set custom uniform variables in GLSL shaders. More...

#include <vtkOpenGLUniforms.h>

Inheritance diagram for vtkOpenGLUniforms:
[legend]
Collaboration diagram for vtkOpenGLUniforms:
[legend]

Public Types

typedef vtkUniforms Superclass
 
- Public Types inherited from vtkUniforms
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.
 
vtkOpenGLUniformsNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
std::string GetDeclarations ()
 Build a string containing the GLSL declaration of all stored uniform variables.
 
bool SetUniforms (vtkShaderProgram *p)
 Set all the stored uniform variables values in the shader program p.
 
vtkMTimeType GetUniformListMTime () override
 Get modified time of the list of uniform variables, which is typically used to check whether the shader needs to be recompiled.
 
void RemoveUniform (const char *name) override
 Remove uniform variable named name.
 
void RemoveAllUniforms () override
 Remove all uniform variables.
 
int GetNumberOfUniforms () override
 Get number of all uniforms stored in this class.
 
const char * GetNthUniformName (vtkIdType uniformIndex) override
 Get number of all uniforms stored in this class.
 
int GetUniformScalarType (const char *name) override
 Get type of scalars stored in uniform name.
 
TupleType GetUniformTupleType (const char *name) override
 Get the tuple type stored in uniform name.
 
int GetUniformNumberOfComponents (const char *name) override
 Get the number of components stored in each tuple of uniform name.
 
int GetUniformNumberOfTuples (const char *name) override
 Get length of a uniform name that contains a variable-size vector.
 
void SetUniform (const char *name, vtkUniforms::TupleType tt, int nbComponents, const std::vector< int > &value) override
 Generic setters and getter.
 
void SetUniform (const char *name, vtkUniforms::TupleType tt, int nbComponents, const std::vector< float > &value) override
 Generic setters and getter.
 
bool GetUniform (const char *name, std::vector< int > &value) override
 Generic setters and getter.
 
bool GetUniform (const char *name, std::vector< float > &value) override
 Generic setters and getter.
 
void SetUniformi (const char *name, int v) override
 Set the name uniform value to v.
 
void SetUniformf (const char *name, float v) override
 Set the name uniform value to v.
 
void SetUniform2i (const char *name, const int v[2]) override
 Set the name uniform value to v.
 
void SetUniform2f (const char *name, const float v[2]) override
 Set the name uniform value to v.
 
void SetUniform3f (const char *name, const float v[3]) override
 Set the name uniform value to v.
 
void SetUniform4f (const char *name, const float v[4]) override
 Set the name uniform value to v.
 
void SetUniformMatrix3x3 (const char *name, float *v) override
 Set the name uniform value to v.
 
void SetUniformMatrix4x4 (const char *name, float *v) override
 Set the name uniform value to v.
 
void SetUniform1iv (const char *name, int count, const int *f) override
 Set the name uniform array to f with count elements.
 
void SetUniform1fv (const char *name, int count, const float *f) override
 Set the name uniform array to f with count elements.
 
void SetUniform2fv (const char *name, int count, const float(*f)[2]) override
 Set the name uniform array to f with count elements.
 
void SetUniform3fv (const char *name, int count, const float(*f)[3]) override
 Set the name uniform array to f with count elements.
 
void SetUniform4fv (const char *name, int count, const float(*f)[4]) override
 Set the name uniform array to f with count elements.
 
void SetUniformMatrix4x4v (const char *name, int count, float *v) override
 Set the name uniform array to f with count elements.
 
void SetUniform3f (const char *name, const double v[3]) override
 Set the name uniform to v.
 
void SetUniform3uc (const char *name, const unsigned char v[3]) override
 Set the name uniform to v.
 
void SetUniform4uc (const char *name, const unsigned char v[4]) override
 Set the name uniform to v.
 
void SetUniformMatrix (const char *name, vtkMatrix3x3 *v) override
 Set the name uniform to v.
 
void SetUniformMatrix (const char *name, vtkMatrix4x4 *v) override
 Set the name uniform to v.
 
bool GetUniformi (const char *name, int &v) override
 Get the name uniform value.
 
bool GetUniformf (const char *name, float &v) override
 Get the name uniform value.
 
bool GetUniform2i (const char *name, int v[2]) override
 Get the name uniform value.
 
bool GetUniform2f (const char *name, float v[2]) override
 Get the name uniform value.
 
bool GetUniform3f (const char *name, float v[3]) override
 Get the name uniform value.
 
bool GetUniform4f (const char *name, float v[4]) override
 Get the name uniform value.
 
bool GetUniformMatrix3x3 (const char *name, float *v) override
 Get the name uniform value.
 
bool GetUniformMatrix4x4 (const char *name, float *v) override
 Get the name uniform value.
 
bool GetUniform3f (const char *name, double v[3]) override
 Get the name uniform to v.
 
bool GetUniform3uc (const char *name, unsigned char v[3]) override
 Get the name uniform to v.
 
bool GetUniform4uc (const char *name, unsigned char v[4]) override
 Get the name uniform to v.
 
bool GetUniformMatrix (const char *name, vtkMatrix3x3 *v) override
 Get the name uniform to v.
 
bool GetUniformMatrix (const char *name, vtkMatrix4x4 *v) override
 Get the name uniform to v.
 
bool GetUniform1iv (const char *name, std::vector< int > &f) override
 Get the name uniform vector to f with.
 
bool GetUniform1fv (const char *name, std::vector< float > &f) override
 Get the name uniform vector to f with.
 
bool GetUniform2fv (const char *name, std::vector< float > &f) override
 Get the name uniform vector to f with.
 
bool GetUniform3fv (const char *name, std::vector< float > &f) override
 Get the name uniform vector to f with.
 
bool GetUniform4fv (const char *name, std::vector< float > &f) override
 Get the name uniform vector to f with.
 
bool GetUniformMatrix4x4v (const char *name, std::vector< float > &f) override
 Get the name uniform vector to f with.
 
- Public Member Functions inherited from vtkUniforms
virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
vtkUniformsNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
virtual vtkMTimeType GetUniformListMTime ()=0
 
virtual void RemoveUniform (const char *name)=0
 Remove uniform variable named name.
 
virtual void RemoveAllUniforms ()=0
 Remove all uniform variables.
 
virtual int GetNumberOfUniforms ()=0
 Get number of all uniforms stored in this class.
 
virtual const char * GetNthUniformName (vtkIdType uniformIndex)=0
 Get number of all uniforms stored in this class.
 
virtual int GetUniformScalarType (const char *name)=0
 Get type of scalars stored in uniform name.
 
virtual TupleType GetUniformTupleType (const char *name)=0
 Get the tuple type stored in uniform name.
 
virtual int GetUniformNumberOfComponents (const char *name)=0
 Get the number of components stored in each tuple of uniform name.
 
virtual int GetUniformNumberOfTuples (const char *name)=0
 Number of tuples of uniform name that contains a variable-size vector.
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 Turn debugging output on.
 
virtual void DebugOff ()
 Turn debugging output off.
 
bool GetDebug ()
 Get the value of the debug flag.
 
void SetDebug (bool debugFlag)
 Set the value of the debug flag.
 
virtual void Modified ()
 Update the modification time for this object.
 
virtual vtkMTimeType GetMTime ()
 Return this object's modified time.
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
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)
 
vtkTypeBool InvokeEvent (unsigned long event)
 
vtkTypeBool InvokeEvent (const char *event)
 
std::string GetObjectDescription () const override
 The object description printed in messages and PrintSelf output.
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
vtkCommandGetCommand (unsigned long tag)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
void RemoveObserver (vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
void RemoveObservers (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
void RemoveObservers (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
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.
 
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.
 
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.
 
vtkTypeBool InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not.
 
vtkTypeBool InvokeEvent (const char *event, void *callData)
 This method invokes an event and return whether the event was aborted or not.
 
virtual void SetObjectName (const std::string &objectName)
 Set/get the name of this object for reporting purposes.
 
virtual std::string GetObjectName () const
 Set/get the name of this object for reporting purposes.
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string.
 
virtual std::string GetObjectDescription () const
 The object description printed in messages and PrintSelf output.
 
virtual vtkTypeBool IsA (const char *name)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
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).
 
virtual void Delete ()
 Delete a VTK object.
 
virtual void FastDelete ()
 Delete a reference to this object.
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream.
 
void Register (vtkObjectBase *o)
 Increase the reference count (mark as used by another object).
 
virtual void UnRegister (vtkObjectBase *o)
 Decrease the reference count (release by another object).
 
int GetReferenceCount ()
 Return the current reference count of this object.
 
void SetReferenceCount (int)
 Sets the reference count.
 
bool GetIsInMemkind () const
 A local state flag that remembers whether this object lives in the normal or extended memory space.
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses.
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses.
 
virtual bool UsesGarbageCollector () const
 Indicate whether the class uses vtkGarbageCollector or not.
 

Static Public Member Functions

static vtkOpenGLUniformsNew ()
 
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkOpenGLUniformsSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkUniforms
static vtkUniformsNew ()
 
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkUniformsSafeDownCast (vtkObjectBase *o)
 
static std::string TupleTypeToString (TupleType tt)
 Convert between TupleType and string.
 
static TupleType StringToTupleType (const std::string &s)
 
static std::string ScalarTypeToString (int scalarType)
 Convert between scalar types an string.
 
static int StringToScalarType (const std::string &s)
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
 
static void BreakOnError ()
 This method is called when vtkErrorMacro executes.
 
static void SetGlobalWarningDisplay (vtkTypeBool val)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
static void GlobalWarningDisplayOn ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
static void GlobalWarningDisplayOff ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
static vtkTypeBool GetGlobalWarningDisplay ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
- 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.
 
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).
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
 
static void SetMemkindDirectory (const char *directoryname)
 The name of a directory, ideally mounted -o dax, to memory map an extended memory space within.
 
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.
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkOpenGLUniforms ()
 
 ~vtkOpenGLUniforms () override
 
- Protected Member Functions inherited from vtkUniforms
virtual vtkObjectBaseNewInstanceInternal () 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.
 
void InternalReleaseFocus ()
 These methods allow a command to exclusively grab all events.
 
- 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 *)
 
virtual void ObjectFinalize ()
 
 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
 
std::string ObjectName
 
- Protected Attributes inherited from vtkObjectBase
std::atomic< int32_t > ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

helper class to set custom uniform variables in GLSL shaders.

This class implements all SetUniform* functions supported by vtkShaderProgram but instead of directly calling the underlying OpenGL functions, it caches the name and value of the variable and provides a mechanism for client mappers to set all cached variables at once in a generic way.

The basic types of GLSL uniform variables supported by the class are the following: int, float, vec2i, vec3, vec4, mat3, mat4, int[], float[], vec2i[], vec3[], vec4[], mat4[]. All other types supported by Set* functions undergo the same type conversions implemented in vtkShaderProgram.

Thanks:
Developed by Simon Drouin (sdrou.nosp@m.in2@.nosp@m.bwh.h.nosp@m.arva.nosp@m.rd.ed.nosp@m.u) at Brigham and Women's Hospital.
Tests:
vtkOpenGLUniforms (Tests)

Definition at line 34 of file vtkOpenGLUniforms.h.

Member Typedef Documentation

◆ Superclass

Definition at line 38 of file vtkOpenGLUniforms.h.

Constructor & Destructor Documentation

◆ vtkOpenGLUniforms()

vtkOpenGLUniforms::vtkOpenGLUniforms ( )
protected

◆ ~vtkOpenGLUniforms()

vtkOpenGLUniforms::~vtkOpenGLUniforms ( )
overrideprotected

Member Function Documentation

◆ New()

static vtkOpenGLUniforms * vtkOpenGLUniforms::New ( )
static

◆ IsTypeOf()

static vtkTypeBool vtkOpenGLUniforms::IsTypeOf ( const char *  type)
static

◆ IsA()

virtual vtkTypeBool vtkOpenGLUniforms::IsA ( const char *  name)
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 vtkUniforms.

◆ SafeDownCast()

static vtkOpenGLUniforms * vtkOpenGLUniforms::SafeDownCast ( vtkObjectBase o)
static

◆ NewInstanceInternal()

virtual vtkObjectBase * vtkOpenGLUniforms::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkUniforms.

◆ NewInstance()

vtkOpenGLUniforms * vtkOpenGLUniforms::NewInstance ( ) const

◆ PrintSelf()

void vtkOpenGLUniforms::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
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.

◆ GetDeclarations()

std::string vtkOpenGLUniforms::GetDeclarations ( )

Build a string containing the GLSL declaration of all stored uniform variables.

This is typically called by mappers to compose the complete shader program.

◆ SetUniforms()

bool vtkOpenGLUniforms::SetUniforms ( vtkShaderProgram p)

Set all the stored uniform variables values in the shader program p.

This is called when the shader is bound.

◆ GetUniformListMTime()

vtkMTimeType vtkOpenGLUniforms::GetUniformListMTime ( )
overridevirtual

Get modified time of the list of uniform variables, which is typically used to check whether the shader needs to be recompiled.

The time stamp is not affected by the modification of the value of an existing variable as then no shader recompilation is needed.

Implements vtkUniforms.

◆ RemoveUniform()

void vtkOpenGLUniforms::RemoveUniform ( const char *  name)
overridevirtual

Remove uniform variable named name.

Implements vtkUniforms.

◆ RemoveAllUniforms()

void vtkOpenGLUniforms::RemoveAllUniforms ( )
overridevirtual

Remove all uniform variables.

Implements vtkUniforms.

◆ SetUniform() [1/2]

void vtkOpenGLUniforms::SetUniform ( const char *  name,
vtkUniforms::TupleType  tt,
int  nbComponents,
const std::vector< int > &  value 
)
overridevirtual

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

Implements vtkUniforms.

◆ SetUniform() [2/2]

void vtkOpenGLUniforms::SetUniform ( const char *  name,
vtkUniforms::TupleType  tt,
int  nbComponents,
const std::vector< float > &  value 
)
overridevirtual

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

Implements vtkUniforms.

◆ GetUniform() [1/2]

bool vtkOpenGLUniforms::GetUniform ( const char *  name,
std::vector< int > &  value 
)
overridevirtual

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

Implements vtkUniforms.

◆ GetUniform() [2/2]

bool vtkOpenGLUniforms::GetUniform ( const char *  name,
std::vector< float > &  value 
)
overridevirtual

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

Implements vtkUniforms.

◆ SetUniformi()

void vtkOpenGLUniforms::SetUniformi ( const char *  name,
int  v 
)
overridevirtual

Set the name uniform value to v.

Implements vtkUniforms.

◆ SetUniformf()

void vtkOpenGLUniforms::SetUniformf ( const char *  name,
float  v 
)
overridevirtual

Set the name uniform value to v.

Implements vtkUniforms.

◆ SetUniform2i()

void vtkOpenGLUniforms::SetUniform2i ( const char *  name,
const int  v[2] 
)
overridevirtual

Set the name uniform value to v.

Implements vtkUniforms.

◆ SetUniform2f()

void vtkOpenGLUniforms::SetUniform2f ( const char *  name,
const float  v[2] 
)
overridevirtual

Set the name uniform value to v.

Implements vtkUniforms.

◆ SetUniform3f() [1/2]

void vtkOpenGLUniforms::SetUniform3f ( const char *  name,
const float  v[3] 
)
overridevirtual

Set the name uniform value to v.

Implements vtkUniforms.

◆ SetUniform4f()

void vtkOpenGLUniforms::SetUniform4f ( const char *  name,
const float  v[4] 
)
overridevirtual

Set the name uniform value to v.

Implements vtkUniforms.

◆ SetUniformMatrix3x3()

void vtkOpenGLUniforms::SetUniformMatrix3x3 ( const char *  name,
float *  v 
)
overridevirtual

Set the name uniform value to v.

Implements vtkUniforms.

◆ SetUniformMatrix4x4()

void vtkOpenGLUniforms::SetUniformMatrix4x4 ( const char *  name,
float *  v 
)
overridevirtual

Set the name uniform value to v.

Implements vtkUniforms.

◆ SetUniform1iv()

void vtkOpenGLUniforms::SetUniform1iv ( const char *  name,
int  count,
const int *  f 
)
overridevirtual

Set the name uniform array to f with count elements.

Implements vtkUniforms.

◆ SetUniform1fv()

void vtkOpenGLUniforms::SetUniform1fv ( const char *  name,
int  count,
const float *  f 
)
overridevirtual

Set the name uniform array to f with count elements.

Implements vtkUniforms.

◆ SetUniform2fv()

void vtkOpenGLUniforms::SetUniform2fv ( const char *  name,
int  count,
const float(*)  f[2] 
)
overridevirtual

Set the name uniform array to f with count elements.

Implements vtkUniforms.

◆ SetUniform3fv()

void vtkOpenGLUniforms::SetUniform3fv ( const char *  name,
int  count,
const float(*)  f[3] 
)
overridevirtual

Set the name uniform array to f with count elements.

Implements vtkUniforms.

◆ SetUniform4fv()

void vtkOpenGLUniforms::SetUniform4fv ( const char *  name,
int  count,
const float(*)  f[4] 
)
overridevirtual

Set the name uniform array to f with count elements.

Implements vtkUniforms.

◆ SetUniformMatrix4x4v()

void vtkOpenGLUniforms::SetUniformMatrix4x4v ( const char *  name,
int  count,
float *  v 
)
overridevirtual

Set the name uniform array to f with count elements.

Implements vtkUniforms.

◆ SetUniform3f() [2/2]

void vtkOpenGLUniforms::SetUniform3f ( const char *  name,
const double  v[3] 
)
overridevirtual

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

Implements vtkUniforms.

◆ SetUniform3uc()

void vtkOpenGLUniforms::SetUniform3uc ( const char *  name,
const unsigned char  v[3] 
)
overridevirtual

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

Implements vtkUniforms.

◆ SetUniform4uc()

void vtkOpenGLUniforms::SetUniform4uc ( const char *  name,
const unsigned char  v[4] 
)
overridevirtual

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

Implements vtkUniforms.

◆ SetUniformMatrix() [1/2]

void vtkOpenGLUniforms::SetUniformMatrix ( const char *  name,
vtkMatrix3x3 v 
)
overridevirtual

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

Implements vtkUniforms.

◆ SetUniformMatrix() [2/2]

void vtkOpenGLUniforms::SetUniformMatrix ( const char *  name,
vtkMatrix4x4 v 
)
overridevirtual

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

Implements vtkUniforms.

◆ GetUniformi()

bool vtkOpenGLUniforms::GetUniformi ( const char *  name,
int &  v 
)
overridevirtual

Get the name uniform value.

Returns true on success.

Implements vtkUniforms.

◆ GetUniformf()

bool vtkOpenGLUniforms::GetUniformf ( const char *  name,
float &  v 
)
overridevirtual

Get the name uniform value.

Returns true on success.

Implements vtkUniforms.

◆ GetUniform2i()

bool vtkOpenGLUniforms::GetUniform2i ( const char *  name,
int  v[2] 
)
overridevirtual

Get the name uniform value.

Returns true on success.

Implements vtkUniforms.

◆ GetUniform2f()

bool vtkOpenGLUniforms::GetUniform2f ( const char *  name,
float  v[2] 
)
overridevirtual

Get the name uniform value.

Returns true on success.

Implements vtkUniforms.

◆ GetUniform3f() [1/2]

bool vtkOpenGLUniforms::GetUniform3f ( const char *  name,
float  v[3] 
)
overridevirtual

Get the name uniform value.

Returns true on success.

Implements vtkUniforms.

◆ GetUniform4f()

bool vtkOpenGLUniforms::GetUniform4f ( const char *  name,
float  v[4] 
)
overridevirtual

Get the name uniform value.

Returns true on success.

Implements vtkUniforms.

◆ GetUniformMatrix3x3()

bool vtkOpenGLUniforms::GetUniformMatrix3x3 ( const char *  name,
float *  v 
)
overridevirtual

Get the name uniform value.

Returns true on success.

Implements vtkUniforms.

◆ GetUniformMatrix4x4()

bool vtkOpenGLUniforms::GetUniformMatrix4x4 ( const char *  name,
float *  v 
)
overridevirtual

Get the name uniform value.

Returns true on success.

Implements vtkUniforms.

◆ GetUniform3f() [2/2]

bool vtkOpenGLUniforms::GetUniform3f ( const char *  name,
double  v[3] 
)
overridevirtual

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

Implements vtkUniforms.

◆ GetUniform3uc()

bool vtkOpenGLUniforms::GetUniform3uc ( const char *  name,
unsigned char  v[3] 
)
overridevirtual

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

Implements vtkUniforms.

◆ GetUniform4uc()

bool vtkOpenGLUniforms::GetUniform4uc ( const char *  name,
unsigned char  v[4] 
)
overridevirtual

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

Implements vtkUniforms.

◆ GetUniformMatrix() [1/2]

bool vtkOpenGLUniforms::GetUniformMatrix ( const char *  name,
vtkMatrix3x3 v 
)
overridevirtual

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

Implements vtkUniforms.

◆ GetUniformMatrix() [2/2]

bool vtkOpenGLUniforms::GetUniformMatrix ( const char *  name,
vtkMatrix4x4 v 
)
overridevirtual

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

Implements vtkUniforms.

◆ GetUniform1iv()

bool vtkOpenGLUniforms::GetUniform1iv ( const char *  name,
std::vector< int > &  f 
)
overridevirtual

Get the name uniform vector to f with.

Implements vtkUniforms.

◆ GetUniform1fv()

bool vtkOpenGLUniforms::GetUniform1fv ( const char *  name,
std::vector< float > &  f 
)
overridevirtual

Get the name uniform vector to f with.

Implements vtkUniforms.

◆ GetUniform2fv()

bool vtkOpenGLUniforms::GetUniform2fv ( const char *  name,
std::vector< float > &  f 
)
overridevirtual

Get the name uniform vector to f with.

Implements vtkUniforms.

◆ GetUniform3fv()

bool vtkOpenGLUniforms::GetUniform3fv ( const char *  name,
std::vector< float > &  f 
)
overridevirtual

Get the name uniform vector to f with.

Implements vtkUniforms.

◆ GetUniform4fv()

bool vtkOpenGLUniforms::GetUniform4fv ( const char *  name,
std::vector< float > &  f 
)
overridevirtual

Get the name uniform vector to f with.

Implements vtkUniforms.

◆ GetUniformMatrix4x4v()

bool vtkOpenGLUniforms::GetUniformMatrix4x4v ( const char *  name,
std::vector< float > &  f 
)
overridevirtual

Get the name uniform vector to f with.

Implements vtkUniforms.

◆ GetNumberOfUniforms()

int vtkOpenGLUniforms::GetNumberOfUniforms ( )
overridevirtual

Get number of all uniforms stored in this class.

Implements vtkUniforms.

◆ GetNthUniformName()

const char * vtkOpenGLUniforms::GetNthUniformName ( vtkIdType  uniformIndex)
overridevirtual

Get number of all uniforms stored in this class.

Valid range is between 0 and GetNumberOfUniforms() - 1.

Implements vtkUniforms.

◆ GetUniformScalarType()

int vtkOpenGLUniforms::GetUniformScalarType ( const char *  name)
overridevirtual

Get type of scalars stored in uniform name.

Implements vtkUniforms.

◆ GetUniformTupleType()

TupleType vtkOpenGLUniforms::GetUniformTupleType ( const char *  name)
overridevirtual

Get the tuple type stored in uniform name.

This can be a scalar, a vector of a matrix.

Implements vtkUniforms.

◆ GetUniformNumberOfComponents()

int vtkOpenGLUniforms::GetUniformNumberOfComponents ( const char *  name)
overridevirtual

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

Implements vtkUniforms.

◆ GetUniformNumberOfTuples()

int vtkOpenGLUniforms::GetUniformNumberOfTuples ( const char *  name)
overridevirtual

Get length of a uniform name that contains a variable-size vector.

Size includes number of tuples. For example, 3fv returns 3 x number of triplets.

Implements vtkUniforms.


The documentation for this class was generated from the following file: