12 #ifndef __BRAY_SampleFilter__
13 #define __BRAY_SampleFilter__
51 static void freePluginCache();
92 inline int size()
const {
return mySize; }
96 inline float *
data(
int aov) {
return myData[aov]; }
97 inline const float *
data(
int aov)
const {
return myData[aov]; }
102 inline float *
data(
int aov,
int sidx)
104 return myData[aov] + sidx * mySizes[aov];
106 inline const float *
data(
int aov,
int sidx)
const
108 return myData[aov] + sidx * mySizes[aov];
115 px =
int(myNDC[sidx].
x());
116 py =
int(myNDC[sidx].
y());
121 inline void jitter(
int sidx,
float &jx,
float &jy)
123 jx = myNDC[sidx].z();
124 jy = myNDC[sidx].w();
128 inline int size(
int p)
const {
return mySizes[p]; }
146 virtual void filter(SampleData &
data,
size_t npixels)
const = 0;
152 int bufferWidth)
const {}
GLuint GLsizei const GLuint const GLintptr const GLsizeiptr * sizes
int size(int p) const
The tuple size of the AOV.
typedef int(APIENTRYP RE_PFNGLXSWAPINTERVALSGIPROC)(int)
SYS_VISIBILITY_EXPORT void newBRAYSampleFilter(void *)
#define SYS_VISIBILITY_EXPORT
UT_UniquePtr< BRAY_SampleFilter > BRAY_SampleFilterPtr
**But if you need a result
int size() const
Number of image planes.
void jitter(int sidx, float &jx, float &jy)
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
Base class for image filters. These are any filters which process AOV data.
Sample data for processing.
virtual void filterSparseBuffer(SampleData &data, size_t npixels, int bufferWidth) const
BRAY_SampleFilter(const UT_Options *o)
GLuint const GLchar * name
void init(float **data, const int *sizes, const UT_Vector4 *ndc, int nplanes)
UT_UniquePtr< Factory > FactoryPtr
virtual const UT_StringHolder & errorMessage() const
const float * data(int aov) const
A map of string to various well defined value types.
virtual const char * className() const =0
Return an identifier for this plugin.
const float * data(int aov, int sidx) const
virtual bool getAOVs(BRAY_FilterInit &init, const UT_StringArray &available, UT_StringArray &write, UT_StringArray &read)=0
SampleData(float **data, const int *sizes, const UT_Vector4 *ndc, int nplanes)
void pixel(int sidx, int &px, int &py)
Get the pixel location for a given sample.
float * data(int aov, int sidx)
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter