1 #ifndef diguyOsgGraphicsLink_h__
2 #define diguyOsgGraphicsLink_h__
8 #include <osg/MatrixTransform>
9 #include <osgViewer/Viewer>
44 m_switch_nodes.push_back(diguyOsgGraphicsShapeSwitchMap(shape, switch_node));
102 virtual void build();
140 osg::ref_ptr<osg::MatrixTransform>
m_dof_node;
165 #endif // diguyOsgGraphicsLink_h__
Definition: diguyOsgGraphicsShaderProgram.h:29
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:33
Graphics state objects mostly serve as containers for other sub-objects, such as materials and textur...
Definition: diguyOsgGraphicsState.h:21
diguyGraphicsLink * diguyOsgGraphicsLink_create_func(void *internal_data)
Create function declaration.
Definition: diguyOsgGraphicsLink.cpp:891
osg::ref_ptr< osg::Uniform > m_ufrm_inverse_transform_matrix
Definition: diguyOsgGraphicsLink.h:135
std::vector< diguyOsgGraphicsShapeSwitchMap > m_switch_nodes
Definition: diguyOsgGraphicsLink.h:64
static osgViewer::Viewer * s_viewer
Definition: diguyOsgGraphicsLink.h:148
osg::ref_ptr< osg::Uniform > m_ufrm_body_weight
Definition: diguyOsgGraphicsLink.h:139
diguyOsgRootNode(diguyOsgGraphicsLink *link)
Definition: diguyOsgGraphicsLink.cpp:224
Definition: diguyOsgGraphicsShaderInstance.h:16
osg::Geode * m_geode
Definition: diguyOsgGraphicsLink.h:53
Definition: diguyOsgGraphicsLink.h:26
osg::Switch * m_switch
Definition: diguyOsgGraphicsLink.h:61
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:520
osg::Geode * get_bounding_sphere_visual()
static int s_transformation_mode;
Definition: diguyOsgGraphicsLink.h:120
A class that represents a shared material/textures combination.
Definition: diguyGraphicsState.h:44
static osg::Group * s_diguy_attach_pt
Definition: diguyOsgGraphicsLink.h:146
osg::ref_ptr< osg::Uniform > m_ufrm_link_matrix
Definition: diguyOsgGraphicsLink.h:131
osg::ref_ptr< osg::Uniform > m_ufrm_emission_color
Definition: diguyOsgGraphicsLink.h:138
static void set_diguy_attach_ptr(diguyScenario *scenario, osg::Group *diguy_attach_pt)
Definition: diguyOsgGraphicsLink.cpp:400
diguyOsgGraphicsShaderInstance * m_diguy_osg_shader_instance
Definition: diguyOsgGraphicsLink.h:143
virtual void instancing_state_changed(int is_instanced)
Definition: diguyOsgGraphicsLink.cpp:869
Definition: diguyOsgGraphicsLink.h:55
static osgViewer::Viewer * get_viewer()
Definition: diguyOsgGraphicsLink.h:116
osg::MatrixTransform * get_dof_node()
Definition: diguyOsgGraphicsLink.h:109
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:444
void traverse(osg::NodeVisitor &nv)
Definition: diguyOsgGraphicsLink.cpp:234
diguyOsgGraphicsShaderProgram * m_diguy_osg_shader_program
Definition: diguyOsgGraphicsLink.h:144
diguyOsgGraphicsShape * m_shape
Definition: diguyOsgGraphicsLink.h:60
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:877
int m_instanced
Definition: diguyOsgGraphicsLink.h:149
Definition: diguyOsgGraphicsLink.h:47
Shapes are the high-level containers of visible geometry.
Definition: diguyOsgGraphicsShape.h:21
osg::StateSet * get_top_level_state_set()
static osg::Group * s_diguy_instancing_attach_pt
Definition: diguyOsgGraphicsLink.h:147
osg::Geode * make_bounding_sphere_visual(osg::Vec3 ¢er, float radius)
Definition: diguyOsgGraphicsLink.cpp:640
Represents the scenario currently being portrayed.
Definition: diguyScenario.h:92
DI-Guy 'links' are essentially the same as 'bones' in other APIs.
Definition: diguyOsgGraphicsLink.h:91
std::vector< std::vector< diguyOsgGraphicsShapeGeodeMap > > m_lod_drawables
Definition: diguyOsgGraphicsLink.h:65
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:789
diguyOsgGraphicsShapeSwitchMap(diguyOsgGraphicsShape *shape, osg::Switch *switch_node)
Definition: diguyOsgGraphicsLink.h:57
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:740
osg::ref_ptr< osg::Uniform > m_ufrm_light_dir_os
Definition: diguyOsgGraphicsLink.h:137
diguyOsgGraphicsLink(void *internal_data)
Definition: diguyOsgGraphicsLink.cpp:378
osg::ref_ptr< osg::Uniform > m_ufrm_eye_point_os
Definition: diguyOsgGraphicsLink.h:136
osg::ref_ptr< osg::Geode > m_bounding_sphere_visual
Definition: diguyOsgGraphicsLink.h:141
A class that represents the unique per-character non-shared joint of a character. A diguyCharacter is...
Definition: diguyGraphicsLink.h:47
diguyOsgGraphicsShape * m_shape
Definition: diguyOsgGraphicsLink.h:52
static osg::Group * get_instancing_attach_node()
Definition: diguyOsgGraphicsLink.h:112
static void set_viewer(osgViewer::Viewer *viewer)
Definition: diguyOsgGraphicsLink.h:117
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:496
osg::ref_ptr< osg::MatrixTransform > m_dof_node
Definition: diguyOsgGraphicsLink.h:134
void remove_shape(diguyOsgGraphicsShape *shape)
Definition: diguyOsgGraphicsLink.cpp:337
void add_switch_for_fast_draw(diguyOsgGraphicsShape *shape, osg::Switch *switch_node)
Definition: diguyOsgGraphicsLink.h:40
diguyOsgGraphicsLink * m_link
Definition: diguyOsgGraphicsLink.h:67
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:681
static diguyScenario * scenario
Definition: simple_playback_ogl.cpp:56
diguyOsgGraphicsShapeGeodeMap(diguyOsgGraphicsShape *shape, osg::Geode *geode)
Definition: diguyOsgGraphicsLink.h:49