void ParticleNode::DrawCurrent( sf::RenderTarget& target, sf::RenderStates states ) const { if ( mNeedsVertexUpdate ) { ComputeVertices(); mNeedsVertexUpdate = false; } states.texture = &mTexture; target.draw( mVertexArray, states ); }
IActor::ActorReturnState Terrain::LoadMetaData( const void* metaData ) { const FBMultiTexturedTerrain* fbTerrainBuff = (FBMultiTexturedTerrain*)metaData; SimpleTerrain::LoadMetaData(fbTerrainBuff->Base()); m_pHeightMapFileName = getPlatformPath(fbTerrainBuff->BitmapFileName()->c_str()); ResourceManager& resMgr = SystemLocator::GetInstance()->RequestSystem<ResourceManager>("ResourceManager"); m_textures.push_back(&resMgr.AcquireResource(fbTerrainBuff->Texture2DResourceName()->c_str())); m_textures.push_back(&resMgr.AcquireResource(fbTerrainBuff->Texture2DResourceName1()->c_str())); m_textures.push_back(&resMgr.AcquireResource(fbTerrainBuff->Texture2DResourceName2()->c_str())); m_textures.push_back(&resMgr.AcquireResource(fbTerrainBuff->Texture2DBlendResourceName3()->c_str())); ComputeVertices(); GPUResourceSystem& gpuSys = (GPUResourceSystem&)SystemLocator::GetInstance()->RequestSystem("GPUResourceSystem"); m_pCBPerObject = gpuSys.CreateConstantBufferResourceView(GPUResourceDesc(GPUResourceType_CBV, sizeof(PerObjectBuffer))); return IActor::ActorReturnState_Success; }