This project is read-only.

Particle System on windows phone is not rendering

Aug 13, 2012 at 4:02 AM
Edited Aug 13, 2012 at 4:05 AM

Hi!i wonder how do we setup a particle syste for the windows phone?

i'm setting up some particle system using the fireworks.xaml by using the Content.Load<ParticleEffect>("Fireworks")

Using the ParticleBatch system, on windows, the particle renders beautifully, but on windows phone it's not rendered at all

Thanks for any hint :)

Aug 13, 2012 at 8:13 PM

What version of Nine are you using? 1.2?

Aug 14, 2012 at 5:58 AM

Hi!

I'm using the msi installer to install the library, not compiling them from the sources

The reference properties panel shows
Version is "1.2.0.0" and the Runtime Version is "v2.0.50727" (phone)
Version is "1.2.0.0" and the Runtime Version is "v4.0.30319" (windows) 

Aug 14, 2012 at 2:51 PM
Edited Aug 14, 2012 at 3:11 PM

It works fine on my end when I import from Xaml.  Image

 

Are you sure you are rendering right?

Aug 15, 2012 at 3:54 AM
Edited Aug 15, 2012 at 4:11 AM

Thank you very much for your time :) i really appreciate.
Yes, the galaxy particle effect renders beautifully, but when i try to load galaxy.xaml and fireworks.xaml (tried loading through xaml, and composing manually through coding) the fireworks is not rendered, but the galaxy particle renders normally

when i tried to load the fireworks.xaml without the galaxy.xaml, the phone doesn't render anything (except for the fps counter)

following is the code snippet to draw the particles(taken from the particle example)

        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.DarkSlateGray);

            // Prepare render states used to draw particles.
            GraphicsDevice.BlendState = BlendState.Additive;
            GraphicsDevice.DepthStencilState = DepthStencilState.DepthRead;

            // Update effects
            fireworks.Update(gameTime.ElapsedGameTime);
            galaxy.Update(gameTime.ElapsedGameTime);

            // Draw particle system using ParticleBatch
            particlePatch.Begin(camera.View, camera.Projection);
            particlePatch.Draw(fireworks);
            particlePatch.Draw(galaxy);
            particlePatch.End();

            base.Draw(gameTime);
        }
Aug 15, 2012 at 5:31 PM

Yes, the particlebatch and the Trigger seems a little bit off. But it works good on the PC. So this seems to be a Windows Phone issue.

But you can use the SpriteBatch to render. 

 

spriteBatch.Begin(0, BlendState.Additive, null, DepthStencilState.DepthRead, null, null,
                Matrix.CreateScale(20, 20, 1) * Matrix.CreateTranslation(BackBufferWidth / 2, BackBufferHeight / 2, 0));
spriteBatch.DrawParticleEffect(fireworks);
spriteBatch.End();