14 #include <diguyGraphicsShape.h>
19 #include <osg/Texture2D>
21 #include <osgEarth/ShaderUtils>
27 class DtDiGuyOsgTextureAttribute;
28 class DtDiGuyNameTextureDrawCallback;
61 virtual void build()
override;
65 virtual void unbuild()
override;
69 virtual void show()
override;
73 virtual void hide()
override;
76 virtual void set_graphics_lod_ranges(
float* lodRanges )
override;
79 virtual void update_variation_texture(
int num_pixels,
unsigned char* pixel_data )
override;
83 virtual void update()
override;
87 virtual void update_name_texture()
override;
92 virtual osg::Node* rootNode();
95 virtual osg::StateSet* stateSet();
97 virtual osg::StateSet* parentStateSet();
100 virtual void setAdditionalTboData(
const std::vector<float>& tboData);
102 virtual const std::vector<float>& getAdditionalTboData();
105 virtual bool getHasSwitches();
108 virtual DtDiGuyOsgTextureAttribute* nameTexture();
118 static void releaseGLObjects();
124 virtual void create_name_texture();
127 virtual void create_shared_variation_texture();
128 virtual void create_variation_texture(
unsigned char* variation_texture_data );
130 virtual osg::Geode* create_geode(
const char* shape_set_name,
bool flash);
osg::ref_ptr< osg::Uniform > myUniformDecalEnabled
Definition: DtDiGuyOsgGraphicsShape.h:142
osg::ref_ptr< osg::StateSet > myStateSet
Definition: DtDiGuyOsgGraphicsShape.h:137
osg::ref_ptr< osg::Uniform > myUniformLodFade
Definition: DtDiGuyOsgGraphicsShape.h:144
static osg::ref_ptr< osg::Texture2D > sm_variation_texture
Definition: DtDiGuyOsgGraphicsShape.h:165
std::vector< osg::Geode * > m_geodes
Definition: DtDiGuyOsgGraphicsShape.h:151
osg::ref_ptr< osg::Uniform > myUniformComponentMapRow
Definition: DtDiGuyOsgGraphicsShape.h:140
bool myNeedsTextureUpdate
Definition: DtDiGuyOsgGraphicsShape.h:154
osg::ref_ptr< osg::Uniform > myUniformBlendIndecies
Definition: DtDiGuyOsgGraphicsShape.h:146
osg::ref_ptr< osg::Uniform > myUniformLinkMatrix
Definition: DtDiGuyOsgGraphicsShape.h:138
DtDiGuyOsgTextureAttribute * myNameTexture
Definition: DtDiGuyOsgGraphicsShape.h:158
diguyGraphicsShape * diguyOsgGraphicsShape_create_func(void *internal_data)
Creator for VRV diguyGraphicsShape override.
Contains DLL export macros.
static char * UniformLinkMatricesString
Static name of the bone uniform.
Definition: DtDiGuyOsgGraphicsShape.h:113
diguyCharacter * myCharacter
Definition: DtDiGuyOsgGraphicsShape.h:152
Override of diguyGraphicsShape to create OSG geometry for DI-Guy shapes.
Definition: DtDiGuyOsgGraphicsShape.h:43
osg::ref_ptr< osg::Uniform > myUniformLinkColor
Definition: DtDiGuyOsgGraphicsShape.h:136
osg::ref_ptr< osg::Uniform > m_ufrm_link_matrix
Definition: DtDiGuyOsgGraphicsShape.h:36
Helper struct for storing offsets for more complex meshes.
Definition: DtDiGuyOsgGraphicsShape.h:34
static bool UsePixelLods
Whether LOD calculations are based on distance from camera or pixel size in frame.
Definition: DtDiGuyOsgGraphicsShape.h:163
osg::ref_ptr< osg::Group > myGeodeGroup
Definition: DtDiGuyOsgGraphicsShape.h:149
std::vector< osg::ref_ptr< osg::Switch > > mySwitchNodeArray
Definition: DtDiGuyOsgGraphicsShape.h:134
osg::ref_ptr< osg::Uniform > myUniformPBRReady
Definition: DtDiGuyOsgGraphicsShape.h:141
osg::ref_ptr< osg::Uniform > myUniformLinkMatrices
Definition: DtDiGuyOsgGraphicsShape.h:139
std::vector< diguyOsgMeshOffsets > m_offset_array
Definition: DtDiGuyOsgGraphicsShape.h:156
#define DT_DLL_VRVDIGUY
Definition: vrvDiGuy.h:21
std::vector< float > myAdditionalTboData
Definition: DtDiGuyOsgGraphicsShape.h:147
osg::Matrixf m_offset
Definition: DtDiGuyOsgGraphicsShape.h:37
osg::ref_ptr< osg::Uniform > myUniformBlendWeights
Definition: DtDiGuyOsgGraphicsShape.h:145
osg::ref_ptr< osg::Uniform > myUniformDecalIndex
Definition: DtDiGuyOsgGraphicsShape.h:143
friend DtDiGuyNameTextureDrawCallback
Definition: DtDiGuyOsgGraphicsShape.h:122