pfFluxedGeoState man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



pfFluxedGeoState(3pf)	      OpenGL Performer 3.2.2 libpr C++ Reference Pages

NAME
     pfFluxedGeoState - Multibuffered wrapper for pfGeoState

FUNCTION SPECIFICATION
     #include <Performer/pr/pfFluxedStates.h>

	     pfFluxedGeoState::pfFluxedGeoState();

	     pfFluxedGeoState::~pfFluxedGeoState();

     void*   pfFluxedGeoState::getWriteableAttr(uint64_t attr);

     void*   pfFluxedGeoState::getWriteableMultiAttr(uint64_t attr,
	       int index);

     void*   pfFluxedGeoState::getAttr(uint64_t attr);

     void*   pfFluxedGeoState::getMultiAttr(uint64_t attr, int index);

     void    pfFluxedGeoState::writeComplete();

     void    pfFluxedGeoState::setMode(uint64_t mode, int val);

     int     pfFluxedGeoState::getMode(uint64_t mode);

     void    pfFluxedGeoState::setVal(uint64_t gsval, float val);

     float   pfFluxedGeoState::getVal(uint64_t gsval);

PARENT CLASS FUNCTIONS
     The OpenGL Performer class pfFluxedGeoState is derived from the parent
     class pfObject, so each of these member functions of class pfObject are
     also directly usable with objects of class pfFluxedGeoState.  This is
     also true for ancestor classes of class pfObject.

     void*   pfObject::operator new(size_t);
     void*   pfObject::operator new(size_t, void *arena);
     void*   pfObject::operator new(size_t, pfFluxMemory *fmem);
     void    pfObject::setUserData(void *data);
     void    pfObject::setUserData(int slot, void *data);
     void*   pfObject::getUserData(pfObject *obj);
     void*   pfObject::getUserData(pfObject *obj, int slot);
     int     pfObject::getNumUserData();

     Since the class pfObject is itself derived from the parent class
     pfMemory, objects of class pfFluxedGeoState can also be used with these
     functions designed for objects of class pfMemory.

     void*	    pfMemory::getData(const void *ptr);

									Page 1

pfFluxedGeoState(3pf)	      OpenGL Performer 3.2.2 libpr C++ Reference Pages

     pfType *	    pfMemory::getType();
     int	    pfMemory::isOfType(pfType *type);
     int	    pfMemory::isExactType(pfType *type);
     const char *   pfMemory::getTypeName();
     int	    pfMemory::copy(pfMemory *src);
     int	    pfMemory::compare(const pfMemory *mem);
     void	    pfMemory::print(uint which, uint verbose, char *prefix,
		      FILE *file);
     int	    pfMemory::getArena(void *ptr);
     void*	    pfMemory::getArena();
     int	    pfMemory::ref();
     int	    pfMemory::unref();
     int	    pfMemory::unrefDelete();
     int	    pfMemory::unrefGetRef();
     int	    pfMemory::getRef();
     int	    pfMemory::checkDelete();
     int	    pfMemory::isFluxed();
     void *	    pfMemory::getArena();
     int	    pfMemory::getSize();

DESCRIPTION
     pfFluxedGeoState is a utility class which allows for multi-process safe
     state changes in dynamic pfShader passes. pfFluxedGeoState uses pfFlux as
     its synchronization mechanism, so the api is similar.

     pfFluxedGeoState::getWriteableAttr is used to request a writeable
     attribute from the pfFluxedGeoState. On a pfGeoState, one normally
     creates an attribute and sets it via pfGeoState::setAttr. This means of
     setting attributes is not possible on pfFluxedGeoState since Performer
     must do some extra internal book-keeping to make sure state changes are
     frame synchronous. pfFluxedGeoState::getWriteableAttr will allocate an
     attribute if it does not exist on the pfFluxedGeoState or return the
     existing one. Once changes to the attribute are complete, it is necessary
     to call pfFluxedGeoState::writeComplete to commit the changes. The
     attributes supported by this function are the same as those of
     pfGeoState::setAttr:

	  PFSTATE_FRONTMTL
	  PFSTATE_BACKMTL
	  PFSTATE_TEXTURE
	  PFSTATE_TEXENV
	  PFSTATE_FOG
	  PFSTATE_LIGHTMODEL
	  PFSTATE_LIGHTS
	  PFSTATE_COLORTABLE
	  PFSTATE_HIGHLIGHT
	  PFSTATE_LPOINTSTATE
	  PFSTATE_TEXGEN
	  PFSTATE_TEXLOD
	  PFSTATE_TEXMAT
	  PFSTATE_DECALPLANE
	  PFSTATE_COMBINER

									Page 2

pfFluxedGeoState(3pf)	      OpenGL Performer 3.2.2 libpr C++ Reference Pages

	  PFSTATE_ENVTXPROG
	  PFSTATE_ENFRAGPROG
	  PFSTATE_SHADPROG

     pfFluxedGeoState::getWriteableMultiAttr is used to get a writeable
     multi-attribute. The behavior is the same as for
     pfFluxedGeoState::getWriteableAttr. index specifies which element of the
     multi-attribute to return. Currently, the only multi-attributes that
     performer supports are related to multi-texturing, so attr must be one
     of:

	  PFSTATE_TEXTURE
	  PFSTATE_TEXENV
	  PFSTATE_TEXGEN
	  PFSTATE_TEXLOD
	  PFSTATE_TEXMAT

     pfFluxedGeoState::getAttr and pfFluxedGeoState::getMultiAttr are used to
     retrieve pointers to read-only attributes. These attributes should not be
     modified since Performer can not keep track of the changes.
     pfFluxedGeoState::getAttr and pfFluxedGeoState::getMultiAttr support the
     same attribute types as pfFluxedGeoState::getWriteableAttr and
     pfFluxedGeoState::getWriteableMultiAttr.

     pfFluxedGeoState::setMode and pfFluxedGeoState::getMode are used to set
     and get the modes on this pfFluxedGeoState. The supported modes are the
     same as those of pfGeoState:

	  PFSTATE_TRANSPARENCY
	  PFSTATE_ANTIALIAS
	  PFSTATE_DECAL
	  PFSTATE_ALPHAFUNC
	  PFSTATE_ENLIGHTING
	  PFSTATE_ENTEXTURE
	  PFSTATE_ENFOG
	  PFSTATE_CULLFACE
	  PFSTATE_ENWIREFRAME
	  PFSTATE_ENCOLORTABLE
	  PFSTATE_ENHIGHLIGHTING
	  PFSTATE_ENLPOINTSTATE
	  PFSTATE_ENTEXGEN
	  PFSTATE_ENTEXLOD
	  PFSTATE_ENTEXMAT
	  PFSTATE_ENCOMBINER
	  PFSTATE_ENVTXPROG
	  PFSTATE_ENFRAGPROG
	  PFSTATE_ENSHADPROG

     pfFluxedGeoState::setVal and pfFluxedGeoState::getVal are used to set and

									Page 3

pfFluxedGeoState(3pf)	      OpenGL Performer 3.2.2 libpr C++ Reference Pages

     get this pfFluxedGeoState's values. The supported values are the same as
     for pfGeoState:
	  PFSTATE_ALPHAREF

SEE ALSO
     pfGeoState, pfFluxedFBState, pfShader

									Page 4

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net