osg.ContextData
是 OpenSceneGraph 中用于保存与 OpenGL 上下文相关数据的类。它可以将一些数据绑定到当前 OpenGL 上下文中,以便在稍后需要时检索。
osg::ContextData::ContextData()
构造一个新的 osg::ContextData
对象。
void setValue(unsigned int key, osg::Referenced* value)
将指定的值 value
绑定到指定的键 key
中。
osg::Referenced* getValue(unsigned int key, bool createIfNotInContext=false) const
尝试从当前 OpenGL 上下文中检索与给定键 key
绑定的值。如果找到,则返回该值的指针;否则返回 NULL
。
如果参数 createIfNotInContext
被设置为 true
,则会在上下文中创建该值,并返回新创建值的指针。
void removeValue(unsigned int key)
将指定的键 key
与其相关联的值从当前 OpenGL 上下文中删除。
void setUserData(osg::Referenced* userData)
将用户数据绑定到 osg::ContextData
对象中。
osg::Referenced* getUserData()
返回 osg::ContextData
对象中绑定的用户数据。
osg::ContextData
是 OpenSceneGraph 中一个非常有用的类,它允许用户将数据与当前 OpenGL 上下文相关联,并在稍后检索。这种机制是非常重要的,因为 OpenSceneGraph 的内部操作可能需要访问 OpenGL 上下文,而上下文可能通过多个线程进行访问,因此每个线程需要它自己的上下文数据存储。