|
| | Program () |
| |
| | Program (const Program &rhs, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) |
| | Copy constructor using CopyOp to manage deep vs shallow copy. More...
|
| |
| | META_StateAttribute (osg, Program, PROGRAM) |
| |
| virtual int | compare (const osg::StateAttribute &sa) const |
| | return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. More...
|
| |
| virtual void | apply (osg::State &state) const |
| | If enabled, activate our program in the GL pipeline, performing any rebuild operations that might be pending. More...
|
| |
| virtual void | setThreadSafeRefUnref (bool threadSafe) |
| | Set whether to use a mutex to ensure ref() and unref() are thread safe. More...
|
| |
| virtual void | compileGLObjects (osg::State &state) const |
| | Compile program and associated shaders. More...
|
| |
| virtual void | resizeGLObjectBuffers (unsigned int maxSize) |
| | Resize any per context GLObject buffers to specified size. More...
|
| |
| virtual void | releaseGLObjects (osg::State *state=0) const |
| | release OpenGL objects in specified graphics context if State object is passed, otherwise release OpenGL objects for all graphics context if State object pointer NULL. More...
|
| |
| void | dirtyProgram () |
| | Mark our PCSOs as needing relink. More...
|
| |
| bool | addShader (Shader *shader) |
| | Attach an osg::Shader to this osg::Program. More...
|
| |
| template<class T > |
| bool | addShader (const ref_ptr< T > &shader) |
| |
| unsigned int | getNumShaders () const |
| |
| Shader * | getShader (unsigned int i) |
| |
| const Shader * | getShader (unsigned int i) const |
| |
| bool | removeShader (Shader *shader) |
| | Remove osg::Shader from this osg::Program. More...
|
| |
| template<class T > |
| bool | removeShader (const ref_ptr< T > &shader) |
| |
| void | setParameter (GLenum pname, GLint value) |
| | Set/get GL program parameters. More...
|
| |
| GLint | getParameter (GLenum pname) const |
| |
| void | addBindAttribLocation (const std::string &name, GLuint index) |
| | Add an attribute location binding. More...
|
| |
| void | removeBindAttribLocation (const std::string &name) |
| | Remove an attribute location binding. More...
|
| |
| void | addBindFragDataLocation (const std::string &name, GLuint index) |
| | Add an frag data location binding. More...
|
| |
| void | removeBindFragDataLocation (const std::string &name) |
| | Remove an frag data location binding. More...
|
| |
| void | addBindUniformBlock (const std::string &name, GLuint index) |
| | Add a uniform block binding to an index target. More...
|
| |
| void | removeBindUniformBlock (const std::string &name) |
| | Remove a uniform block binding. More...
|
| |
| void | removeTransformFeedBackVarying (const std::string &name) |
| | Remove a TransformFeedBackVarying. More...
|
| |
| void | addTransformFeedBackVarying (const std::string &outname) |
| | Add a TransformFeedBack Varying Name. More...
|
| |
| unsigned int | getNumTransformFeedBackVaryings () const |
| | Get number of TransformFeedBack Varyings. More...
|
| |
| const std::string & | getTransformFeedBackVarying (unsigned int i) const |
| | Get const TransformFeedBack Varying at index i. More...
|
| |
| void | setTransformFeedBackMode (GLenum e) |
| | Set TransformFeedBack Mode. More...
|
| |
| GLenum | getTransformFeedBackMode () const |
| | Get TransformFeedBack Mode. More...
|
| |
| void | setShaderPragmas (const ShaderPragmas &shaderPragmas) |
| | Experimental. More...
|
| |
| ShaderPragmas & | getShaderPragmas () |
| |
| const ShaderPragmas & | getShaderPragmas () const |
| |
| void | setProgramBinary (ProgramBinary *programBinary) |
| | Set the Program using a ProgramBinary. More...
|
| |
| ProgramBinary * | getProgramBinary () |
| | Get the Program's ProgramBinary, return NULL if none is assigned. More...
|
| |
| const ProgramBinary * | getProgramBinary () const |
| | Get the const Program's ProgramBinary, return NULL if none is assigned. More...
|
| |
| const AttribBindingList & | getAttribBindingList () const |
| |
| const FragDataBindingList & | getFragDataBindingList () const |
| |
| const UniformBlockBindingList & | getUniformBlockBindingList () const |
| |
| bool | isFixedFunction () const |
| | Return true if this Program represents "fixed-functionality" rendering. More...
|
| |
| bool | getGlProgramInfoLog (unsigned int contextID, std::string &log) const |
| | Query InfoLog from a glProgram. More...
|
| |
| PerContextProgram * | getPCP (State &state) const |
| | Get the PCP for a particular GL context. More...
|
| |
| | StateAttribute () |
| |
| | StateAttribute (const StateAttribute &sa, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
| |
| virtual Object * | cloneType () const =0 |
| | Clone the type of an attribute, with Object* return type. More...
|
| |
| virtual Object * | clone (const CopyOp &) const =0 |
| | Clone an attribute, with Object* return type. More...
|
| |
| virtual bool | isSameKindAs (const Object *obj) const |
| | Return true if this and obj are of the same kind of object. More...
|
| |
| virtual const char * | libraryName () const |
| | Return the name of the attribute's library. More...
|
| |
| virtual const char * | className () const |
| | Return the name of the attribute's class type. More...
|
| |
| virtual StateAttribute * | asStateAttribute () |
| | Convert 'this' into a StateAttribute pointer if Object is a StateAttribute, otherwise return 0. More...
|
| |
| virtual const StateAttribute * | asStateAttribute () const |
| | convert 'const this' into a const StateAttribute pointer if Object is a StateAttribute, otherwise return 0. More...
|
| |
| virtual Texture * | asTexture () |
| | Fast alternative to dynamic_cast<> for determining if state attribute is a Texture. More...
|
| |
| virtual const Texture * | asTexture () const |
| | Fast alternative to dynamic_cast<> for determining if state attribute is a Texture. More...
|
| |
| virtual Type | getType () const =0 |
| | Return the Type identifier of the attribute's class type. More...
|
| |
| virtual unsigned int | getMember () const |
| | Return the member identifier within the attribute's class type. More...
|
| |
| TypeMemberPair | getTypeMemberPair () const |
| | Return the TypeMemberPair that uniquely identifies this type member. More...
|
| |
| virtual bool | isTextureAttribute () const |
| | Return true if StateAttribute is a type which controls texturing and needs to be issued w.r.t to specific texture unit. More...
|
| |
| bool | operator< (const StateAttribute &rhs) const |
| |
| bool | operator== (const StateAttribute &rhs) const |
| |
| bool | operator!= (const StateAttribute &rhs) const |
| |
| const ParentList & | getParents () const |
| | Get the parent list of this StateAttribute. More...
|
| |
| StateSet * | getParent (unsigned int i) |
| |
| const StateSet * | getParent (unsigned int i) const |
| | Get a single const parent of this StateAttribute. More...
|
| |
| unsigned int | getNumParents () const |
| | Get the number of parents of this StateAttribute. More...
|
| |
| void | setShaderComponent (ShaderComponent *sc) |
| |
| ShaderComponent * | getShaderComponent () |
| |
| const ShaderComponent * | getShaderComponent () const |
| |
| virtual bool | getModeUsage (ModeUsage &) const |
| | Return the modes associated with this StateAttribute. More...
|
| |
| virtual bool | checkValidityOfAssociatedModes (osg::State &) const |
| | Check the modes associated with this StateAttribute are supported by current OpenGL drivers, and if not set the associated mode in osg::State to be black listed/invalid. More...
|
| |
| void | setUpdateCallback (StateAttributeCallback *uc) |
| | Set the UpdateCallback which allows users to attach customize the updating of an object during the update traversal. More...
|
| |
| StateAttributeCallback * | getUpdateCallback () |
| | Get the non const UpdateCallback. More...
|
| |
| const StateAttributeCallback * | getUpdateCallback () const |
| | Get the const UpdateCallback. More...
|
| |
| void | setEventCallback (StateAttributeCallback *ec) |
| | Set the EventCallback which allows users to attach customize the updating of an object during the Event traversal. More...
|
| |
| StateAttributeCallback * | getEventCallback () |
| | Get the non const EventCallback. More...
|
| |
| const StateAttributeCallback * | getEventCallback () const |
| | Get the const EventCallback. More...
|
| |
| | Object () |
| | Construct an object. More...
|
| |
| | Object (bool threadSafeRefUnref) |
| |
| | Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
| | Copy constructor, optional CopyOp object can be used to control shallow vs deep copying of dynamic data. More...
|
| |
| std::string | getCompoundClassName () const |
| | return the compound class name that combines the library name and class name. More...
|
| |
| virtual Node * | asNode () |
| | Convert 'this' into a Node pointer if Object is a Node, otherwise return 0. More...
|
| |
| virtual const Node * | asNode () const |
| | convert 'const this' into a const Node pointer if Object is a Node, otherwise return 0. More...
|
| |
| virtual NodeVisitor * | asNodeVisitor () |
| | Convert 'this' into a NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. More...
|
| |
| virtual const NodeVisitor * | asNodeVisitor () const |
| | convert 'const this' into a const NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. More...
|
| |
| virtual StateSet * | asStateSet () |
| | Convert 'this' into a StateSet pointer if Object is a StateSet, otherwise return 0. More...
|
| |
| virtual const StateSet * | asStateSet () const |
| | convert 'const this' into a const StateSet pointer if Object is a StateSet, otherwise return 0. More...
|
| |
| virtual Uniform * | asUniform () |
| | Convert 'this' into a Uniform pointer if Object is a Uniform, otherwise return 0. More...
|
| |
| virtual const UniformBase * | asUniformBase () const |
| | convert 'const this' into a const Uniform pointer if Object is a Uniform, otherwise return 0. More...
|
| |
| virtual UniformBase * | asUniformBase () |
| | Convert 'this' into a Uniform pointer if Object is a Uniform, otherwise return 0. More...
|
| |
| virtual const Uniform * | asUniform () const |
| | convert 'const this' into a const Uniform pointer if Object is a Uniform, otherwise return 0. More...
|
| |
| virtual Camera * | asCamera () |
| | Convert 'this' into a Camera pointer if Node is a Camera, otherwise return 0. More...
|
| |
| virtual const Camera * | asCamera () const |
| | convert 'const this' into a const Camera pointer if Node is a Camera, otherwise return 0. More...
|
| |
| virtual Drawable * | asDrawable () |
| | Convert 'this' into a Drawable pointer if Object is a Drawable, otherwise return 0. More...
|
| |
| virtual const Drawable * | asDrawable () const |
| | convert 'const this' into a const Drawable pointer if Object is a Drawable, otherwise return 0. More...
|
| |
| virtual Callback * | asCallback () |
| | Convert 'this' into a Callback pointer if Object is a Callback, otherwise return 0. More...
|
| |
| virtual const Callback * | asCallback () const |
| | convert 'const this' into a const Callback pointer if Object is a Callback, otherwise return 0. More...
|
| |
| virtual CallbackObject * | asCallbackObject () |
| | Convert 'this' into a CallbackObject pointer if Object is a CallbackObject, otherwise return 0. More...
|
| |
| virtual const CallbackObject * | asCallbackObject () const |
| | convert 'const this' into a const CallbackObject pointer if Object is a CallbackObject, otherwise return 0. More...
|
| |
| virtual UserDataContainer * | asUserDataContainer () |
| | Convert 'this' into a UserDataContainer pointer if Object is a UserDataContainer, otherwise return 0. More...
|
| |
| virtual const UserDataContainer * | asUserDataContainer () const |
| | convert 'const this' into a const UserDataContainer pointer if Object is a UserDataContainer, otherwise return 0. More...
|
| |
| virtual ValueObject * | asValueObject () |
| | Convert 'this' into a ValueObject pointer if Object is a ValueObject, otherwise return 0. More...
|
| |
| virtual const ValueObject * | asValueObject () const |
| | Convert 'this' into a ValueObject pointer if Object is a ValueObject, otherwise return 0. More...
|
| |
| virtual Image * | asImage () |
| | Convert 'this' into a Image pointer if Object is a Image, otherwise return 0. More...
|
| |
| virtual const Image * | asImage () const |
| | Convert 'this' into a Image pointer if Object is a Image, otherwise return 0. More...
|
| |
| virtual void | setName (const std::string &name) |
| | Set the name of object using C++ style string. More...
|
| |
| void | setName (const char *name) |
| | Set the name of object using a C style string. More...
|
| |
| const std::string & | getName () const |
| | Get the name of object. More...
|
| |
| void | setDataVariance (DataVariance dv) |
| | Set the data variance of this object. More...
|
| |
| DataVariance | getDataVariance () const |
| | Get the data variance of this object. More...
|
| |
| virtual void | computeDataVariance () |
| | Compute the DataVariance based on an assessment of callback etc. More...
|
| |
| void | setUserDataContainer (osg::UserDataContainer *udc) |
| | set the UserDataContainer object. More...
|
| |
| template<class T > |
| void | setUserDataContainer (const ref_ptr< T > &udc) |
| |
| osg::UserDataContainer * | getUserDataContainer () |
| | get the UserDataContainer attached to this object. More...
|
| |
| const osg::UserDataContainer * | getUserDataContainer () const |
| | get the const UserDataContainer attached to this object. More...
|
| |
| osg::UserDataContainer * | getOrCreateUserDataContainer () |
| | Convenience method that returns the UserDataContainer, and if one doesn't already exist creates and assigns a DefaultUserDataContainer to the Object and then return this new UserDataContainer. More...
|
| |
| virtual void | setUserData (Referenced *obj) |
| | Set user data, data must be subclassed from Referenced to allow automatic memory handling. More...
|
| |
| template<class T > |
| void | setUserData (const ref_ptr< T > &ud) |
| |
| virtual Referenced * | getUserData () |
| | Get user data. More...
|
| |
| virtual const Referenced * | getUserData () const |
| | Get const user data. More...
|
| |
| template<typename T > |
| bool | getUserValue (const std::string &name, T &value) const |
| | Convenience method that casts the named UserObject to osg::TemplateValueObject<T> and gets the value. More...
|
| |
| template<typename T > |
| void | setUserValue (const std::string &name, const T &value) |
| | Convenience method that creates the osg::TemplateValueObject<T> to store the specified value and adds it as a named UserObject. More...
|
| |
| template<typename T > |
| BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const |
| | provide implementation of osg::Object::getUserValue(..) template More...
|
| |
| | Referenced () |
| |
| | Referenced (bool threadSafeRefUnref) |
| | Deprecated, Referenced is now always uses thread safe ref/unref, use default Referenced() constructor instead. More...
|
| |
| | Referenced (const Referenced &) |
| |
| Referenced & | operator= (const Referenced &) |
| |
| bool | getThreadSafeRefUnref () const |
| | Get whether a mutex is used to ensure ref() and unref() are thread safe. More...
|
| |
| OpenThreads::Mutex * | getRefMutex () const |
| | Get the mutex used to ensure thread safety of ref()/unref(). More...
|
| |
| int | ref () const |
| | Increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
|
| |
| int | unref () const |
| | Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More...
|
| |
| int | unref_nodelete () const |
| | Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More...
|
| |
| int | referenceCount () const |
| | Return the number of pointers currently referencing this object. More...
|
| |
| ObserverSet * | getObserverSet () const |
| | Get the ObserverSet if one is attached, otherwise return NULL. More...
|
| |
| ObserverSet * | getOrCreateObserverSet () const |
| | Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. More...
|
| |
| void | addObserver (Observer *observer) const |
| | Add a Observer that is observing this object, notify the Observer when this object gets deleted. More...
|
| |
| void | removeObserver (Observer *observer) const |
| | Remove Observer that is observing this object. More...
|
| |
osg::Program is an application-level abstraction of an OpenGL glProgram.
It is an osg::StateAttribute that, when applied, will activate a glProgram for subsequent rendering. osg::Shaders containing the actual shader source code are attached to a Program, which will then manage the compilation, linking, and activation of the GLSL program. osg::Program will automatically manage per-context instancing of the OpenGL glPrograms, if that is necessary for a particular display configuration.