public static VRageRender.MyBillboard AddBillboardParticle(MyAnimatedParticle particle, VRageRender.MyBillboard effectBillboard, bool sort) { //MyBillboard billboard = m_preallocatedParticleBillboards.Allocate(); //VRageRender.MyBillboard billboard = new VRageRender.MyBillboard(); VRageRender.MyBillboard billboard = VRageRender.MyRenderProxy.BillboardsPoolWrite.Allocate(); if (billboard != null) { MyTransparentGeometry.StartParticleProfilingBlock("item.Value.Draw"); if (particle.Draw(billboard) == true) { if (!sort) { effectBillboard.ContainedBillboards.Add(billboard); } MyPerformanceCounter.PerCameraDrawWrite.NewParticlesCount++; } billboard.CustomViewProjection = -1; MyTransparentGeometry.EndParticleProfilingBlock(); } return(billboard); }
public static void DeallocateAnimatedParticle(MyAnimatedParticle particle) { m_animatedParticles.Deallocate(particle); }