35 #include "vtkRenderingCoreModule.h"
67 static TupleType StringToTupleType(
const std::string& s);
70 static std::string ScalarTypeToString(
int scalaType);
71 static int StringToScalarType(
const std::string& s);
74 virtual void RemoveUniform(
const char*
name) = 0;
77 virtual void RemoveAllUniforms() = 0;
85 const std::vector<int>&
value) = 0;
87 const std::vector<float>&
value) = 0;
88 virtual bool GetUniform(
const char*
name, std::vector<int>&
value) = 0;
89 virtual bool GetUniform(
const char*
name, std::vector<float>&
value) = 0;
94 virtual void SetUniformi(
const char*
name,
int v) = 0;
95 virtual void SetUniformf(
const char*
name,
float v) = 0;
96 virtual void SetUniform2i(
const char*
name,
const int v[2]) = 0;
97 virtual void SetUniform2f(
const char*
name,
const float v[2]) = 0;
98 virtual void SetUniform3f(
const char*
name,
const float v[3]) = 0;
99 virtual void SetUniform4f(
const char*
name,
const float v[4]) = 0;
100 virtual void SetUniformMatrix3x3(
const char*
name,
float* v) = 0;
101 virtual void SetUniformMatrix4x4(
const char*
name,
float* v) = 0;
106 virtual void SetUniform1iv(
const char*
name,
const int count,
const int* f) = 0;
107 virtual void SetUniform1fv(
const char*
name,
const int count,
const float* f) = 0;
108 virtual void SetUniform2fv(
const char*
name,
const int count,
const float (*f)[2]) = 0;
109 virtual void SetUniform3fv(
const char*
name,
const int count,
const float (*f)[3]) = 0;
110 virtual void SetUniform4fv(
const char*
name,
const int count,
const float (*f)[4]) = 0;
111 virtual void SetUniformMatrix4x4v(
const char*
name,
const int count,
float* v) = 0;
119 virtual void SetUniform3f(
const char*
name,
const double v[3]) = 0;
120 virtual void SetUniform3uc(
const char*
name,
const unsigned char v[3]) = 0;
121 virtual void SetUniform4uc(
const char*
name,
const unsigned char v[4]) = 0;
128 virtual bool GetUniformi(
const char*
name,
int& v) = 0;
129 virtual bool GetUniformf(
const char*
name,
float& v) = 0;
130 virtual bool GetUniform2i(
const char*
name,
int v[2]) = 0;
131 virtual bool GetUniform2f(
const char*
name,
float v[2]) = 0;
132 virtual bool GetUniform3f(
const char*
name,
float v[3]) = 0;
133 virtual bool GetUniform4f(
const char*
name,
float v[4]) = 0;
134 virtual bool GetUniformMatrix3x3(
const char*
name,
float* v) = 0;
135 virtual bool GetUniformMatrix4x4(
const char*
name,
float* v) = 0;
143 virtual bool GetUniform3f(
const char*
name,
double v[3]) = 0;
144 virtual bool GetUniform3uc(
const char*
name,
unsigned char v[3]) = 0;
145 virtual bool GetUniform4uc(
const char*
name,
unsigned char v[4]) = 0;
152 virtual bool GetUniform1iv(
const char*
name, std::vector<int>& f) = 0;
153 virtual bool GetUniform1fv(
const char*
name, std::vector<float>& f) = 0;
154 virtual bool GetUniform2fv(
const char*
name, std::vector<float>& f) = 0;
155 virtual bool GetUniform3fv(
const char*
name, std::vector<float>& f) = 0;
156 virtual bool GetUniform4fv(
const char*
name, std::vector<float>& f) = 0;
157 virtual bool GetUniformMatrix4x4v(
const char*
name, std::vector<float>& f) = 0;
161 virtual int GetNumberOfUniforms() = 0;
165 virtual const char* GetNthUniformName(
vtkIdType uniformIndex) = 0;
168 virtual int GetUniformScalarType(
const char*
name) = 0;
172 virtual TupleType GetUniformTupleType(
const char*
name) = 0;
177 virtual int GetUniformNumberOfComponents(
const char*
name) = 0;
182 virtual int GetUniformNumberOfTuples(
const char*
name) = 0;