pfISLTexCoordData(3pf) OpenGL Performer 3.2.2 libpr C Reference Pages
NAME
pfISLTexCoordDataBorrowMemory, pfGetISLTexCoordDataGSet,
pfGetISLTexCoordDataModelview, pfGetISLTexCoordDataViewmat,
pfGetISLTexCoordDataAppearance - Data wrapper for shader callbacks
FUNCTION SPECIFICATION
#include <Performer/pr.h>
void * -
pfISLTexCoordDataBorrowMemory(pfISLTexCoordData* isltexcoorddata);
pfGeoSet* -
pfGetISLTexCoordDataGSet(pfISLTexCoordData* isltexcoorddata);
pfMatrix* -
pfGetISLTexCoordDataModelview(pfISLTexCoordData* isltexcoorddata);
pfMatrix* -
pfGetISLTexCoordDataViewmat(pfISLTexCoordData* isltexcoorddata);
islAppearance* -
pfGetISLTexCoordDataAppearance(pfISLTexCoordData* isltexcoorddata);
PARENT CLASS FUNCTIONS
The OpenGL Performer class pfGeoSet is derived from the parent class
pfObject, so each of these member functions of class pfObject are also
directly usable with objects of class pfGeoSet. Casting an object of
class pfGeoSet to an object of class pfObject is taken care of
automatically. This is also true for casts to objects of ancestor
classes of class pfObject.
void pfUserDataSlot(pfObject *obj, int slot, void *data);
void pfUserData(pfObject *obj, void *data);
void* pfGetUserDataSlot(pfObject *obj, int slot);
void* pfGetUserData(pfObject *obj);
int pfGetNumUserData(pfObject *obj);
int pfGetNamedUserDataSlot(const char *name);
const char* pfGetUserDataSlotName(int slot);
int pfGetNumNamedUserDataSlots(void);
int pfGetGLHandle(pfObject *obj);
int pfDeleteGLHandle(pfObject *obj);
Since the class pfObject is itself derived from the parent class
pfMemory, objects of class pfGeoSet can also be used with these functions
designed for objects of class pfMemory.
pfType * pfGetType(const void *ptr);
int pfIsOfType(const void *ptr, pfType *type);
int pfIsExactType(const void *ptr, pfType *type);
Page 1
pfISLTexCoordData(3pf) OpenGL Performer 3.2.2 libpr C Reference Pages
const char * pfGetTypeName(const void *ptr);
int pfRef(void *ptr);
int pfUnref(void *ptr);
int pfUnrefDelete(void *ptr);
int pfUnrefGetRef(void *ptr);
int pfGetRef(const void *ptr);
int pfCopy(void *dst, void *src);
int pfDelete(void *ptr);
int pfIsFluxed(void *ptr);
int pfCompare(const void *ptr1, const void *ptr2);
void pfPrint(const void *ptr, uint which, uint verbose,
FILE *file);
void * pfGetArena(void *ptr);
DESCRIPTION
This is a utility class that is passed as a parameter to callback
functions registered with pfShaderTexCoordFunc and
pfShaderTexComputeFunc. It is used to wrap a set of handy data to have
when performing the operation requested by the callback.
pfISLTexCoordDataBorrowMemory is used to borrow memory which will be used
for rendering the specified pfGeoSet in the current frame. This memory
will be reclaimed by Performer on the next frame and it is very quick to
allocate and deallocate. An example of where to use it would be for the
texture coordinate array that Performer requests for rendering a
particular pfGeoSet.
pfGetISLTexCoordDataGSet returns the pfGeoSet that is currently being
shaded.
pfGetISLTexCoordDataAppearance returns the islAppearance that is
currently active.
pfGetISLTexCoordDataModelview returns the composite matrix of all
transformations between the current pfGeoSet and the top of the scene
graph.
pfGetISLTexCoordDataViewmat returns the current viewing matrix that
corresponds to the current pfChannel's eye position.
Page 2