MCPcopy Create free account
hub / github.com/carbonengine/trinity / Tr2ImpostorManager

Method Tr2ImpostorManager

trinity/Tr2ImpostorManager.cpp:89–120  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

87
88
89Tr2ImpostorManager::Tr2ImpostorManager() :
90 m_width( 1024 ),
91 m_height( 1024 ),
92 m_itemWidth( 32 ),
93 m_itemHeight( 32 ),
94 m_maxUpdates( 16 ),
95 m_effectKey( -1 ),
96 m_atlasDirty( true )
97{
98 m_rt.CreateInstance();
99 m_itemRt.CreateInstance();
100 m_ds.CreateInstance();
101
102 Tr2Variable altas( "ImposterAtlasMap", m_rt );
103 Tr2Variable itemSizeVar( "ImposterItemSize", Vector4() );
104
105 m_effect.CreateInstance();
106 m_effect->SetEffectPathName( "res:/graphics/effect/managed/space/system/impostor.fx" );
107
108 m_effectKey = m_effect->GetHashValue() + ( uint64_t( static_cast<Tr2Effect*>( m_effect ) ) << 32 );
109
110 static Tr2VertexDefinition def;
111 if( def.m_items.empty() )
112 {
113 def.Add( def.FLOAT32_1, def.TEXCOORD, 5 );
114 def.Add( def.FLOAT32_4, def.POSITION, 0, 1, 1 );
115 def.Add( def.FLOAT32_4, def.TEXCOORD, 1, 1, 1 );
116 def.Add( def.FLOAT16_2, def.TEXCOORD, 0, 1, 1 );
117 }
118
119 Tr2QuadRenderer::Instance()->RegisterEffect( m_effectKey, TRIBATCHTYPE_OPAQUE, sizeof( ImposterVertex ), 1, def, m_effect );
120}
121
122// --------------------------------------------------------------------------------------
123// Description:

Callers

nothing calls this directly

Calls 7

CreateInstanceMethod · 0.80
SetEffectPathNameMethod · 0.80
emptyMethod · 0.80
Vector4Class · 0.50
GetHashValueMethod · 0.45
AddMethod · 0.45
RegisterEffectMethod · 0.45

Tested by

no test coverage detected