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()
override;
105 virtual void unbuild()
override;
106 virtual void update()
override;
164 #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:929
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:147
diguyOsgRootNode(diguyOsgGraphicsLink *link)
Definition: diguyOsgGraphicsLink.cpp:243
Definition: diguyOsgGraphicsShaderInstance.h:16
osg::Geode * m_geode
Definition: diguyOsgGraphicsLink.h:53
Definition: diguyOsgGraphicsLink.h:26
osg::Switch * m_switch
Definition: diguyOsgGraphicsLink.h:61
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:145
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:435
diguyOsgGraphicsShaderInstance * m_diguy_osg_shader_instance
Definition: diguyOsgGraphicsLink.h:142
Definition: diguyOsgGraphicsLink.h:55
static osgViewer::Viewer * get_viewer()
Definition: diguyOsgGraphicsLink.h:116
osg::MatrixTransform * get_dof_node()
Definition: diguyOsgGraphicsLink.h:109
void traverse(osg::NodeVisitor &nv)
Definition: diguyOsgGraphicsLink.cpp:253
diguyOsgGraphicsShaderProgram * m_diguy_osg_shader_program
Definition: diguyOsgGraphicsLink.h:143
diguyOsgGraphicsShape * m_shape
Definition: diguyOsgGraphicsLink.h:60
virtual void instancing_state_changed(int is_instanced) override
Definition: diguyOsgGraphicsLink.cpp:907
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:915
int m_instanced
Definition: diguyOsgGraphicsLink.h:148
Definition: diguyOsgGraphicsLink.h:47
Shapes are the high-level containers of visible geometry.
Definition: diguyOsgGraphicsShape.h:33
osg::StateSet * get_top_level_state_set()
static osg::Group * s_diguy_instancing_attach_pt
Definition: diguyOsgGraphicsLink.h:146
osg::Geode * make_bounding_sphere_visual(osg::Vec3 ¢er, float radius)
Definition: diguyOsgGraphicsLink.cpp:673
Represents the scenario currently being portrayed.
Definition: diguyScenario.h:99
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
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:773
osg::ref_ptr< osg::Uniform > m_ufrm_light_dir_os
Definition: diguyOsgGraphicsLink.h:137
diguyOsgGraphicsLink(void *internal_data)
Definition: diguyOsgGraphicsLink.cpp:402
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:140
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
virtual void build() override
This function will be called by DI-Guy when it is time for renderer-specific link objects to be creat...
Definition: diguyOsgGraphicsLink.cpp:486
static osg::Group * get_instancing_attach_node()
Definition: diguyOsgGraphicsLink.h:112
static void set_viewer(osgViewer::Viewer *viewer)
Definition: diguyOsgGraphicsLink.h:117
virtual void set_shader_instance(diguyGraphicsShaderInstance *shader_instance) override
This function will be called by DI-Guy when it a shader should be bound to this link.
Definition: diguyOsgGraphicsLink.cpp:822
osg::ref_ptr< osgViewer::Viewer > viewer
4 Header files and forward declarations
Definition: simple_playback_osg_2.cpp:43
osg::ref_ptr< osg::MatrixTransform > m_dof_node
Definition: diguyOsgGraphicsLink.h:134
virtual void update() override
This function will be called by DI-Guy when it is time for renderer-specific link objects created dur...
Definition: diguyOsgGraphicsLink.cpp:564
void remove_shape(diguyOsgGraphicsShape *shape)
Definition: diguyOsgGraphicsLink.cpp:361
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:714
virtual void unbuild() override
This function will be called by DI-Guy when it is time for the renderer-specific link objects created...
Definition: diguyOsgGraphicsLink.cpp:540
static diguyScenario * scenario
Definition: simple_playback_ogl.cpp:57
diguyOsgGraphicsShapeGeodeMap(diguyOsgGraphicsShape *shape, osg::Geode *geode)
Definition: diguyOsgGraphicsLink.h:49