OpenSceneGraph
3.0.1
|
Simple class for wrapping up the data used in OpenGL ES 2's glShaderBinary calls. More...
Public Member Functions | |
ShaderBinary () | |
ShaderBinary (const ShaderBinary &rhs, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
Copy constructor using CopyOp to manage deep vs shallow copy. More... | |
META_Object (osg, ShaderBinary) | |
void | assign (unsigned int size, const unsigned char *data) |
Allocated a data buffer of specified size/*/ void allocate(unsigned int size); More... | |
unsigned int | getSize () const |
Get the size of the shader binary data. More... | |
unsigned char * | getData () |
Get a ptr to the shader binary data. More... | |
const unsigned char * | getData () const |
Get a const ptr to the shader binary data. 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... | |
virtual Object * | cloneType () const =0 |
Clone the type of an object, with Object* return type. More... | |
virtual Object * | clone (const CopyOp &) const =0 |
Clone an object, with Object* return type. More... | |
virtual bool | isSameKindAs (const Object *) const |
virtual const char * | libraryName () const =0 |
return the name of the object's library. More... | |
virtual const char * | className () const =0 |
return the name of the object's class type. More... | |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
Set whether to use a mutex to ensure ref() and unref() are thread safe. 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... | |
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 () |
Convinience 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... | |
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 |
Convinience 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) |
Convinience method that creates the osg::TemplateValueObject<T> to store the specified value and adds it as a named UserObject. More... | |
virtual void | resizeGLObjectBuffers (unsigned int) |
Resize any per context GLObject buffers to specified size. More... | |
virtual void | releaseGLObjects (osg::State *=0) const |
If State is non-zero, this function releases any associated OpenGL objects for the specified graphics context. More... | |
template<typename T > | |
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject bool | getUserValue (const std::string &name, T &value) const |
provide implementation of osg::Object::getUserValue(..) template More... | |
![]() | |
Referenced () | |
Referenced (bool threadSafeRefUnref) | |
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 referencing it. More... | |
int | unref_nodelete () const |
Decrement the reference count by one, indicating that a pointer to this object is 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... | |
Static Public Member Functions | |
static ShaderBinary * | readShaderBinaryFile (const std::string &fileName) |
Read shader binary from file. More... | |
Protected Types | |
typedef std::vector< unsigned char > | Data |
Protected Attributes | |
Data | _data |
![]() | |
std::string | _name |
DataVariance | _dataVariance |
osg::UserDataContainer * | _userDataContainer |
![]() | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
Additional Inherited Members | |
![]() | |
enum | DataVariance { DYNAMIC, STATIC, UNSPECIFIED } |
![]() | |
virtual | ~Object () |
Object destructor. More... | |
Simple class for wrapping up the data used in OpenGL ES 2's glShaderBinary calls.
ShaderBinary is set up with the binary data then assigned to one or more osg::Shader.
|
protected |
osg::ShaderBinary::ShaderBinary | ( | ) |
osg::ShaderBinary::ShaderBinary | ( | const ShaderBinary & | rhs, |
const osg::CopyOp & | copyop = osg::CopyOp::SHALLOW_COPY |
||
) |
Copy constructor using CopyOp to manage deep vs shallow copy.
void osg::ShaderBinary::assign | ( | unsigned int | size, |
const unsigned char * | data | ||
) |
Allocated a data buffer of specified size/*/
void allocate(unsigned int size);
/** Assign shader binary data, copying the specified data into locally stored data buffer, the original data can then be deleted.
|
inline |
Get a ptr to the shader binary data.
|
inline |
Get a const ptr to the shader binary data.
|
inline |
Get the size of the shader binary data.
osg::ShaderBinary::META_Object | ( | osg | , |
ShaderBinary | |||
) |
|
static |
Read shader binary from file.
Return the resulting Shader or 0 if no valid shader binary could be read.
|
protected |
![]() | Generated at Fri Mar 1 2013 18:59:40 for the OpenSceneGraph by doxygen 1.8.3.1. |