FragmentProgram - encapsulates the OpenGL ARB fragment program state
Inheritance:
Public Classes
-
class SG_EXPORT Extensions: public osg::Referenced
- Extensions class which encapsulates the querring of extensions and associated function pointers, and provide convinience wrappers to check for the extensions or use the associated functions
Public Methods
-
FragmentProgram()
-
FragmentProgram(const FragmentProgram& vp, const CopyOp& copyop=CopyOp::SHALLOW_COPY)
- Copy constructor using CopyOp to manage deep vs shallow copy
-
META_StateAttribute(osg, FragmentProgram, FRAGMENTPROGRAM)
-
virtual int compare(const osg::StateAttribute& sa) const
- return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs
-
virtual bool getModeUsage(ModeUsage& usage) const
-
inline GLuint& getFragmentProgramID(unsigned int contextID) const
- Get the handle to the fragment program id for the current context
-
inline void setFragmentProgram( const std::string& program )
- Set the fragment program using C++ style string
-
inline void setFragmentProgram( const char* program )
- Set the fragment program using a C style string
-
inline const std::string& getFragmentProgram() const
- Get the fragment program
-
inline void setProgramLocalParameter(const GLuint index, const Vec4& p)
- Set Program Parameters
-
inline LocalParamList& getLocalParamList()
- Get list of Program Parameters
-
inline const LocalParamList& getLocalParamList() const
- Get const list of Program Parameters
-
inline void setMatrix(const GLenum mode, const Matrix& matrix)
- Matrix
-
void dirtyFragmentProgramObject()
- Force a recompile on next apply() of associated OpenGL vertex program objects
-
static void deleteFragmentProgramObject(unsigned int contextID, GLuint handle)
- use deleteFragmentProgramObject instead of glDeletePrograms to allow OpenGL Fragment Program objects to cached until they can be deleted by the OpenGL context in which they were created, specified by contextID
-
static void flushDeletedFragmentProgramObjects(unsigned int contextID, double currentTime, double& availableTime)
- flush all the cached fragment programs which need to be deleted in the OpenGL context related to contextID
-
virtual void apply(State& state) const
-
virtual void compileGLObjects(State& state) const
-
virtual void releaseGLObjects(State* state=0) const
- release an OpenGL objects in specified graphics context if State object is passed, otherwise release OpenGL objexts for all graphics context if State object pointer NULL
-
static Extensions* getExtensions(unsigned int contextID, bool createIfNotInitalized)
- Function to call to get the extension of a specified context.
-
static void setExtensions(unsigned int contextID, Extensions* extensions)
- setExtensions allows users to override the extensions across graphics contexts.
Public
-
typedef std::map<GLuint,Vec4> LocalParamList
Protected Fields
-
mutable FragmentProgramIDList _fragmentProgramIDList
-
std::string _fragmentProgram
-
LocalParamList _programLocalParameters
-
MatrixList _matrixList
Protected Methods
-
virtual ~FragmentProgram()
Protected
-
typedef buffered_value<GLuint> FragmentProgramIDList
-
typedef std::map<GLenum,Matrix> MatrixList
Public Classes
-
enum Values
-
enum Types
-
struct ModeUsage
Public Methods
-
virtual Object* cloneType() const
-
virtual Object* clone(const CopyOp&) const
-
virtual bool isSameKindAs(const Object* obj) const
-
virtual const char* libraryName() const
-
virtual const char* className() const
-
virtual Type getType() const
-
virtual bool isTextureAttribute() const
-
bool operator < (const StateAttribute& rhs) const
-
bool operator == (const StateAttribute& rhs) const
-
bool operator != (const StateAttribute& rhs) const
Public
-
typedef GLenum GLMode
-
typedef unsigned int GLModeValue
-
typedef unsigned int OverrideValue
-
typedef unsigned int Type
Inherited from Object:
Public Classes
-
enum DataVariance
Public Methods
-
inline void setDataVariance(DataVariance dv)
-
inline DataVariance getDataVariance() const
-
inline void setUserData(Referenced* obj)
-
inline Referenced* getUserData()
-
inline const Referenced* getUserData() const
Protected Fields
-
DataVariance _dataVariance
-
ref_ptr<Referenced> _userData
Public Methods
-
inline Referenced& operator = (const Referenced&)
-
static void setDeleteHandler(DeleteHandler* handler)
-
static DeleteHandler* getDeleteHandler()
-
inline void ref() const
-
inline void unref_nodelete() const
-
inline int referenceCount() const
-
inline void unref() const
Protected Fields
-
mutable OpenThreads::Mutex _refMutex
-
mutable int _refCount
Documentation
FragmentProgram - encapsulates the OpenGL ARB fragment program state
- FragmentProgram()
- FragmentProgram(const FragmentProgram& vp, const CopyOp& copyop=CopyOp::SHALLOW_COPY)
- Copy constructor using CopyOp to manage deep vs shallow copy
- META_StateAttribute(osg, FragmentProgram, FRAGMENTPROGRAM)
- virtual int compare(const osg::StateAttribute& sa) const
- return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs
- virtual bool getModeUsage(ModeUsage& usage) const
- inline GLuint& getFragmentProgramID(unsigned int contextID) const
- Get the handle to the fragment program id for the current context
- inline void setFragmentProgram( const std::string& program )
- Set the fragment program using C++ style string
- inline void setFragmentProgram( const char* program )
- Set the fragment program using a C style string
- inline const std::string& getFragmentProgram() const
- Get the fragment program
- inline void setProgramLocalParameter(const GLuint index, const Vec4& p)
- Set Program Parameters
- typedef std::map<GLuint,Vec4> LocalParamList
- inline LocalParamList& getLocalParamList()
- Get list of Program Parameters
- inline const LocalParamList& getLocalParamList() const
- Get const list of Program Parameters
- inline void setMatrix(const GLenum mode, const Matrix& matrix)
- Matrix
- void dirtyFragmentProgramObject()
- Force a recompile on next apply() of associated OpenGL vertex program objects
- static void deleteFragmentProgramObject(unsigned int contextID, GLuint handle)
- use deleteFragmentProgramObject instead of glDeletePrograms to allow
OpenGL Fragment Program objects to cached until they can be deleted
by the OpenGL context in which they were created, specified
by contextID
- static void flushDeletedFragmentProgramObjects(unsigned int contextID, double currentTime, double& availableTime)
- flush all the cached fragment programs which need to be deleted
in the OpenGL context related to contextID
- virtual void apply(State& state) const
- virtual void compileGLObjects(State& state) const
- virtual void releaseGLObjects(State* state=0) const
- release an OpenGL objects in specified graphics context if State
object is passed, otherwise release OpenGL objexts for all graphics context if
State object pointer NULL
- static Extensions* getExtensions(unsigned int contextID, bool createIfNotInitalized)
- Function to call to get the extension of a specified context.
If the Exentsion object for that context has not yet been created then
and the 'createIfNotInitalized' flag been set to false then returns NULL.
If 'createIfNotInitalized' is true then the Extensions object is
automatically created. However, in this case the extension object
only be created with the graphics context associated with ContextID..
- static void setExtensions(unsigned int contextID, Extensions* extensions)
- setExtensions allows users to override the extensions across graphics contexts.
typically used when you have different extensions supported across graphics pipes
but need to ensure that they all use the same low common denominator extensions.
- virtual ~FragmentProgram()
- typedef buffered_value<GLuint> FragmentProgramIDList
- mutable FragmentProgramIDList _fragmentProgramIDList
- std::string _fragmentProgram
- LocalParamList _programLocalParameters
- typedef std::map<GLenum,Matrix> MatrixList
- MatrixList _matrixList
- This class has no child classes.
Alphabetic index HTML hierarchy of classes or Java
This page was generated with the help of DOC++.