7 #ifndef __diguyOsgGraphicsInstanceGroup_H
8 #define __diguyOsgGraphicsInstanceGroup_H
14 #include <osg/Version>
22 #if OSG_MIN_VERSION_REQUIRED(3,2,0)
23 #define USE_OSG_TEXTURE_BUFFER 1
27 #if USE_OSG_TEXTURE_BUFFER
28 #include <osg/TextureBuffer>
74 #ifdef USE_OSG_TEXTURE_BUFFER
76 static osg::ref_ptr<osg::TextureBuffer> s_osg_texture_buffer;
77 static osg::ref_ptr<osg::Image> s_osg_image;
104 #endif __diguyOsgGraphicsInstanceGroup_H
A class that represents an instance group. An instance group is a collection of meshes, attached to shapes, that can be drawn with a single draw call using supplemental instance data information. An instance group can contain segmented meshes or skinned mesh.
Definition: diguyGraphicsInstanceGroup.h:48
diguyGraphicsInstanceGroup * diguyOsgGraphicsInstanceGroup_create_func(void *internal_data)
Create function declaration.
Definition: diguyOsgGraphicsInstanceGroup.cpp:495
osg::ref_ptr< osg::Uniform > ufrm_apply_matrices_flag
Definition: diguyOsgGraphicsInstanceGroup.h:91
osg::ref_ptr< osg::Geode > m_geode
Definition: diguyOsgGraphicsInstanceGroup.h:83
Definition: diguyOsgGraphicsInstanceGroup.h:56
osg::ref_ptr< osg::Geometry > m_geometry
Definition: diguyOsgGraphicsInstanceGroup.h:84
osg::ref_ptr< osg::Uniform > ufrm_base_matrices_start
Definition: diguyOsgGraphicsInstanceGroup.h:87
virtual void build()
This function will be called by DI-Guy when it is time for a renderer specific instance group to be c...
Definition: diguyOsgGraphicsInstanceGroup.cpp:131
void create_and_add_shared_tbo_to_state_set(osg::StateSet &state_set)
Definition: diguyOsgGraphicsInstanceGroup.cpp:217
void build_shared_tbo()
Definition: diguyOsgGraphicsInstanceGroup.cpp:265
static diguyOsgTextureBufferObject * s_diguy_texture_buffer
Definition: diguyOsgGraphicsInstanceGroup.h:79
virtual void update()
This function will be called by DI-Guy when it is time for the instance group to be updated with new ...
Definition: diguyOsgGraphicsInstanceGroup.cpp:371
static osg::ref_ptr< diguyOsgTextureBufferObjectApplyAttribute > s_diguy_texture_buffer_attribute
Definition: diguyOsgGraphicsInstanceGroup.h:80
virtual void unbuild()
This function will be called by DI-Guy when it is time for a instance group to be destroyed...
Definition: diguyOsgGraphicsInstanceGroup.cpp:328
static osg::ref_ptr< osg::Group > s_shared_tbo_node
Definition: diguyOsgGraphicsInstanceGroup.h:71
osg::ref_ptr< osg::PrimitiveSet > m_primitiveSet
Definition: diguyOsgGraphicsInstanceGroup.h:85
osg::ref_ptr< osg::Uniform > ufrm_link_matrices_count
Definition: diguyOsgGraphicsInstanceGroup.h:89
osg::ref_ptr< osg::Uniform > ufrm_link_matrices_start
Definition: diguyOsgGraphicsInstanceGroup.h:88
diguyOsgGraphicsInstanceGroup(void *internal_data)
Definition: diguyOsgGraphicsInstanceGroup.cpp:78
osg::ref_ptr< osg::Uniform > ufrm_instance_group_color
Definition: diguyOsgGraphicsInstanceGroup.h:92
Definition: diguyOsgTextureBufferObject.h:13
osg::ref_ptr< osg::Uniform > ufrm_extra_per_instance_data
Definition: diguyOsgGraphicsInstanceGroup.h:90
~diguyOsgGraphicsInstanceGroup()
Definition: diguyOsgGraphicsInstanceGroup.cpp:94