1 #ifndef diguyOsgGraphicsLink_h__
2 #define diguyOsgGraphicsLink_h__
14 #include <osg/MatrixTransform>
15 #include <osgViewer/Viewer>
43 m_lod_drawables[lod].push_back(diguyOsgGraphicsShapeGeodeMap(shape, geode));
47 m_switch_nodes.push_back(diguyOsgGraphicsShapeSwitchMap(shape, switch_node));
70 std::vector<std::vector<diguyOsgGraphicsShapeGeodeMap> >
m_lod_drawables;
152 #endif // diguyOsgGraphicsLink_h__
Definition: diguyOsgGraphicsShaderProgram.h:22
A class that represents the unique per-character shader object.
Definition: diguyGraphicsShaderInstance.h:55
void add_geode_for_fast_draw(diguyOsgGraphicsShape *shape, osg::Geode *geode, int lod)
Definition: diguyOsgGraphicsLink.h:37
Definition: diguyOsgGraphicsState.h:21
osg::ref_ptr< osg::Uniform > m_ufrm_inverse_transform_matrix
Definition: diguyOsgGraphicsLink.h:126
std::vector< diguyOsgGraphicsShapeSwitchMap > m_switch_nodes
Definition: diguyOsgGraphicsLink.h:68
static osgViewer::Viewer * s_viewer
Definition: diguyOsgGraphicsLink.h:138
diguyOsgRootNode(diguyOsgGraphicsLink *link)
Definition: diguyOsgGraphicsLink.cpp:84
Definition: diguyOsgGraphicsShaderInstance.h:21
osg::Geode * m_geode
Definition: diguyOsgGraphicsLink.h:57
Definition: diguyOsgGraphicsLink.h:30
static osg::ref_ptr< osg::Texture2D > sm_degenerate_texture
Definition: diguyOsgGraphicsLink.h:139
osg::Switch * m_switch
Definition: diguyOsgGraphicsLink.h:65
static void set_diguy_attach_ptr(osg::Group *diguy_attach_pt)
Definition: diguyOsgGraphicsLink.cpp:237
virtual void update()
This function will be called by DI-Guy when it is time for renderer-specific link objects created dur...
Definition: diguyOsgGraphicsLink.cpp:346
osg::Geode * get_bounding_sphere_visual()
static int s_transformation_mode;
Definition: diguyOsgGraphicsLink.h:109
A class that represents a shared material/textures combination.
Definition: diguyGraphicsState.h:37
static osg::Group * s_diguy_attach_pt
Definition: diguyOsgGraphicsLink.h:136
osg::ref_ptr< osg::Uniform > m_ufrm_link_matrix
Definition: diguyOsgGraphicsLink.h:122
osg::ref_ptr< osg::Uniform > m_ufrm_emission_color
Definition: diguyOsgGraphicsLink.h:129
diguyOsgGraphicsShaderInstance * m_diguy_osg_shader_instance
Definition: diguyOsgGraphicsLink.h:133
virtual void instancing_state_changed(int is_instanced)
TODO MARCM.
Definition: diguyOsgGraphicsLink.cpp:760
Definition: diguyOsgGraphicsLink.h:59
static osgViewer::Viewer * get_viewer()
Definition: diguyOsgGraphicsLink.h:105
osg::MatrixTransform * get_dof_node()
Definition: diguyOsgGraphicsLink.h:98
virtual void build()
This function will be called by DI-Guy when it is time for renderer-specific link objects to be creat...
Definition: diguyOsgGraphicsLink.cpp:269
void traverse(osg::NodeVisitor &nv)
Definition: diguyOsgGraphicsLink.cpp:94
diguyOsgGraphicsShaderProgram * m_diguy_osg_shader_program
Definition: diguyOsgGraphicsLink.h:134
diguyGraphicsLink * diguyOsgGraphicsLink_create_func(void *internal_data)
Create function declaration.
Definition: diguyOsgGraphicsLink.cpp:782
diguyOsgGraphicsShape * m_shape
Definition: diguyOsgGraphicsLink.h:64
virtual void post_build()
This function will be called by DI-Guy when all links and shapes of a DI-Guy character have been buil...
Definition: diguyOsgGraphicsLink.cpp:768
int m_instanced
Definition: diguyOsgGraphicsLink.h:140
Definition: diguyOsgGraphicsLink.h:51
Definition: diguyOsgGraphicsShape.h:23
osg::StateSet * get_top_level_state_set()
static osg::Group * s_diguy_instancing_attach_pt
Definition: diguyOsgGraphicsLink.h:137
osg::Geode * make_bounding_sphere_visual(osg::Vec3 ¢er, float radius)
Definition: diguyOsgGraphicsLink.cpp:473
Definition: diguyOsgGraphicsLink.h:80
std::vector< std::vector< diguyOsgGraphicsShapeGeodeMap > > m_lod_drawables
Definition: diguyOsgGraphicsLink.h:69
virtual void set_shader_instance(diguyGraphicsShaderInstance *shader_instance)
This function will be called by DI-Guy when it a shader should be bound to this link.
Definition: diguyOsgGraphicsLink.cpp:682
diguyOsgGraphicsShapeSwitchMap(diguyOsgGraphicsShape *shape, osg::Switch *switch_node)
Definition: diguyOsgGraphicsLink.h:61
virtual void detach_from_scene()
This function will be called by DI-Guy when it is time for renderer-specific link objects created dur...
Definition: diguyOsgGraphicsLink.cpp:573
osg::ref_ptr< osg::Uniform > m_ufrm_light_dir_os
Definition: diguyOsgGraphicsLink.h:128
diguyOsgGraphicsLink(void *internal_data)
Definition: diguyOsgGraphicsLink.cpp:216
osg::ref_ptr< osg::Uniform > m_ufrm_eye_point_os
Definition: diguyOsgGraphicsLink.h:127
osg::ref_ptr< osg::Geode > m_bounding_sphere_visual
Definition: diguyOsgGraphicsLink.h:131
A class that represents the unique per-character non-shared joint of a character. A diguyCharacter is...
Definition: diguyGraphicsLink.h:49
diguyOsgGraphicsShape * m_shape
Definition: diguyOsgGraphicsLink.h:56
osg::ref_ptr< osg::Texture2D > get_default_variation_texture()
Definition: diguyOsgGraphicsLink.cpp:607
static osg::Group * get_instancing_attach_node()
Definition: diguyOsgGraphicsLink.h:101
static void set_viewer(osgViewer::Viewer *viewer)
Definition: diguyOsgGraphicsLink.h:106
osg::ref_ptr< osgViewer::Viewer > viewer
4 Header files and forward declarations
Definition: simple_playback_osg_2.cpp:43
virtual void unbuild()
This function will be called by DI-Guy when it is time for the renderer-specific link objects created...
Definition: diguyOsgGraphicsLink.cpp:321
osg::ref_ptr< osg::MatrixTransform > m_dof_node
Definition: diguyOsgGraphicsLink.h:125
void remove_shape(diguyOsgGraphicsShape *shape)
Definition: diguyOsgGraphicsLink.cpp:175
void add_switch_for_fast_draw(diguyOsgGraphicsShape *shape, osg::Switch *switch_node)
Definition: diguyOsgGraphicsLink.h:44
diguyOsgGraphicsLink * m_link
Definition: diguyOsgGraphicsLink.h:71
virtual void attach_to_scene()
This function will be called by DI-Guy when it is time for renderer-specific link objects created dur...
Definition: diguyOsgGraphicsLink.cpp:514
diguyOsgGraphicsShapeGeodeMap(diguyOsgGraphicsShape *shape, osg::Geode *geode)
Definition: diguyOsgGraphicsLink.h:53