|
typedef std::map< std::string, GLuint > | AttribBindingList |
|
typedef std::map< std::string, GLuint > | FragDataBindingList |
|
typedef std::map< std::string, GLuint > | UniformBlockBindingList |
|
typedef std::map< unsigned int, ActiveVarInfo > | ActiveUniformMap |
|
typedef std::map< std::string, ActiveVarInfo > | ActiveVarInfoMap |
|
typedef std::map< std::string, UniformBlockInfo > | UniformBlockMap |
|
enum | Values {
OFF = 0x0
, ON = 0x1
, OVERRIDE = 0x2
, PROTECTED = 0x4
,
INHERIT = 0x8
} |
|
enum | Type {
TEXTURE
, POLYGONMODE
, POLYGONOFFSET
, MATERIAL
,
ALPHAFUNC
, ANTIALIAS
, COLORTABLE
, CULLFACE
,
FOG
, FRONTFACE
, LIGHT
, POINT
,
LINEWIDTH
, LINESTIPPLE
, POLYGONSTIPPLE
, SHADEMODEL
,
TEXENV
, TEXENVFILTER
, TEXGEN
, TEXMAT
,
LIGHTMODEL
, BLENDFUNC
, BLENDEQUATION
, LOGICOP
,
STENCIL
, COLORMASK
, DEPTH
, VIEWPORT
,
SCISSOR
, BLENDCOLOR
, MULTISAMPLE
, CLIPPLANE
,
COLORMATRIX
, VERTEXPROGRAM
, FRAGMENTPROGRAM
, POINTSPRITE
,
PROGRAM
, CLAMPCOLOR
, HINT
, SAMPLEMASKI
,
PRIMITIVERESTARTINDEX
, CLIPCONTROL
, VALIDATOR
, VIEWMATRIXEXTRACTOR
,
OSGNV_PARAMETER_BLOCK
, OSGNVEXT_TEXTURE_SHADER
, OSGNVEXT_VERTEX_PROGRAM
, OSGNVEXT_REGISTER_COMBINERS
,
OSGNVCG_PROGRAM
, OSGNVSLANG_PROGRAM
, OSGNVPARSE_PROGRAM_PARSER
, UNIFORMBUFFERBINDING
,
TRANSFORMFEEDBACKBUFFERBINDING
, ATOMICCOUNTERBUFFERBINDING
, PATCH_PARAMETER
, FRAME_BUFFER_OBJECT
,
VERTEX_ATTRIB_DIVISOR
, SHADERSTORAGEBUFFERBINDING
, INDIRECTDRAWBUFFERBINDING
, VIEWPORTINDEXED
,
DEPTHRANGEINDEXED
, SCISSORINDEXED
, BINDIMAGETEXTURE
, SAMPLER
,
CAPABILITY = 100
} |
|
typedef GLenum | GLMode |
|
typedef unsigned int | GLModeValue |
|
typedef unsigned int | OverrideValue |
|
typedef std::pair< Type, unsigned int > | TypeMemberPair |
|
typedef std::vector< StateSet * > | ParentList |
|
typedef osg::StateAttributeCallback | Callback |
|
enum | DataVariance { DYNAMIC
, STATIC
, UNSPECIFIED
} |
|
|
| Program () |
|
| Program (const Program &rhs, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) |
|
| META_StateAttribute (osg, Program, PROGRAM) |
|
virtual int | compare (const osg::StateAttribute &sa) const |
|
virtual void | apply (osg::State &state) const |
|
virtual void | setThreadSafeRefUnref (bool threadSafe) |
|
virtual void | compileGLObjects (osg::State &state) const |
|
virtual void | resizeGLObjectBuffers (unsigned int maxSize) |
|
virtual void | releaseGLObjects (osg::State *state=0) const |
|
void | dirtyProgram () |
|
bool | addShader (Shader *shader) |
|
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) |
|
template<class T > |
bool | removeShader (const ref_ptr< T > &shader) |
|
void | setParameter (GLenum pname, GLint value) |
|
GLint | getParameter (GLenum pname) const |
|
void | addBindAttribLocation (const std::string &name, GLuint index) |
|
void | removeBindAttribLocation (const std::string &name) |
|
void | addBindFragDataLocation (const std::string &name, GLuint index) |
|
void | removeBindFragDataLocation (const std::string &name) |
|
void | addBindUniformBlock (const std::string &name, GLuint index) |
|
void | removeBindUniformBlock (const std::string &name) |
|
void | removeTransformFeedBackVarying (const std::string &name) |
|
void | addTransformFeedBackVarying (const std::string &outname) |
|
unsigned int | getNumTransformFeedBackVaryings () const |
|
const std::string & | getTransformFeedBackVarying (unsigned int i) const |
|
void | setTransformFeedBackMode (GLenum e) |
|
GLenum | getTransformFeedBackMode () const |
|
void | setShaderDefines (const ShaderDefines &shaderDefs) |
|
ShaderDefines & | getShaderDefines () |
|
const ShaderDefines & | getShaderDefines () const |
|
void | setProgramBinary (ProgramBinary *programBinary) |
|
ProgramBinary * | getProgramBinary () |
|
const ProgramBinary * | getProgramBinary () const |
|
const AttribBindingList & | getAttribBindingList () const |
|
const FragDataBindingList & | getFragDataBindingList () const |
|
const UniformBlockBindingList & | getUniformBlockBindingList () const |
|
bool | isFixedFunction () const |
|
bool | getGlProgramInfoLog (unsigned int contextID, std::string &log) const |
|
PerContextProgram * | getPCP (State &state) const |
|
| StateAttribute () |
|
| StateAttribute (const StateAttribute &sa, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
|
virtual Object * | cloneType () const =0 |
|
virtual Object * | clone (const CopyOp &) const =0 |
|
virtual bool | isSameKindAs (const Object *obj) const |
|
virtual const char * | libraryName () const |
|
virtual const char * | className () const |
|
virtual StateAttribute * | asStateAttribute () |
|
virtual const StateAttribute * | asStateAttribute () const |
|
virtual Texture * | asTexture () |
|
virtual const Texture * | asTexture () const |
|
virtual Type | getType () const =0 |
|
virtual unsigned int | getMember () const |
|
TypeMemberPair | getTypeMemberPair () const |
|
virtual bool | isTextureAttribute () const |
|
bool | operator< (const StateAttribute &rhs) const |
|
bool | operator== (const StateAttribute &rhs) const |
|
bool | operator!= (const StateAttribute &rhs) const |
|
const ParentList & | getParents () const |
|
StateSet * | getParent (unsigned int i) |
|
const StateSet * | getParent (unsigned int i) const |
|
unsigned int | getNumParents () const |
|
void | setShaderComponent (ShaderComponent *sc) |
|
ShaderComponent * | getShaderComponent () |
|
const ShaderComponent * | getShaderComponent () const |
|
virtual bool | getModeUsage (ModeUsage &) const |
|
virtual bool | checkValidityOfAssociatedModes (osg::State &) const |
|
void | setUpdateCallback (StateAttributeCallback *uc) |
|
StateAttributeCallback * | getUpdateCallback () |
|
const StateAttributeCallback * | getUpdateCallback () const |
|
void | setEventCallback (StateAttributeCallback *ec) |
|
StateAttributeCallback * | getEventCallback () |
|
const StateAttributeCallback * | getEventCallback () const |
|
| Object () |
|
| Object (bool threadSafeRefUnref) |
|
| Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
|
std::string | getCompoundClassName () const |
|
virtual Node * | asNode () |
|
virtual const Node * | asNode () const |
|
virtual NodeVisitor * | asNodeVisitor () |
|
virtual const NodeVisitor * | asNodeVisitor () const |
|
virtual StateSet * | asStateSet () |
|
virtual const StateSet * | asStateSet () const |
|
virtual Uniform * | asUniform () |
|
virtual const Uniform * | asUniform () const |
|
virtual Camera * | asCamera () |
|
virtual const Camera * | asCamera () const |
|
virtual Drawable * | asDrawable () |
|
virtual const Drawable * | asDrawable () const |
|
virtual Callback * | asCallback () |
|
virtual const Callback * | asCallback () const |
|
virtual CallbackObject * | asCallbackObject () |
|
virtual const CallbackObject * | asCallbackObject () const |
|
virtual UserDataContainer * | asUserDataContainer () |
|
virtual const UserDataContainer * | asUserDataContainer () const |
|
virtual ValueObject * | asValueObject () |
|
virtual const ValueObject * | asValueObject () const |
|
virtual Image * | asImage () |
|
virtual const Image * | asImage () const |
|
virtual void | setName (const std::string &name) |
|
void | setName (const char *name) |
|
const std::string & | getName () const |
|
void | setDataVariance (DataVariance dv) |
|
DataVariance | getDataVariance () const |
|
virtual void | computeDataVariance () |
|
void | setUserDataContainer (osg::UserDataContainer *udc) |
|
template<class T > |
void | setUserDataContainer (const ref_ptr< T > &udc) |
|
osg::UserDataContainer * | getUserDataContainer () |
|
const osg::UserDataContainer * | getUserDataContainer () const |
|
osg::UserDataContainer * | getOrCreateUserDataContainer () |
|
virtual void | setUserData (Referenced *obj) |
|
template<class T > |
void | setUserData (const ref_ptr< T > &ud) |
|
virtual Referenced * | getUserData () |
|
virtual const Referenced * | getUserData () const |
|
template<typename T > |
bool | getUserValue (const std::string &name, T &value) const |
|
template<typename T > |
void | setUserValue (const std::string &name, const T &value) |
|
template<typename T > |
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const |
|
| Referenced () |
|
| Referenced (bool threadSafeRefUnref) |
|
| Referenced (const Referenced &) |
|
Referenced & | operator= (const Referenced &) |
|
bool | getThreadSafeRefUnref () const |
|
OpenThreads::Mutex * | getRefMutex () const |
|
int | ref () const |
|
int | unref () const |
|
int | unref_nodelete () const |
|
int | referenceCount () const |
|
ObserverSet * | getObserverSet () const |
|
ObserverSet * | getOrCreateObserverSet () const |
|
void | addObserver (Observer *observer) const |
|
void | removeObserver (Observer *observer) const |
|
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.