fehaar / FFWD

This is the FFWD framework for XNA, that allows you to port Unity3D games to XNA for use on WP7 or XBox360 (XBLIG)
Microsoft Public License
133 stars 36 forks source link

Culling Mask.... #62

Closed stanleyjoy closed 11 years ago

stanleyjoy commented 12 years ago

Hey Thomas, I am back to bug you even more. Four months holiday must be good.

Here is my issue for the day :P

Imagine I am trying to create a game like Rochard for Windows Phone 7

I have 2 cameras. One is for rendering the 3D World The other is for UI

I use layers to bring about what can be rendered by what camera and I have changed the 'Clear Flags' to depth only for the 2D UICam. So naturally I use culling mask to make the UICam to render only the UI part and the GameCam to render non-UI elements.

I get a NullReference error pointing to FFWD.Components.RenderItem.UpdateCullingInfo(Camera cam)

Can you share your wisdom on this???

Stanley

fehaar commented 12 years ago

No holidays here. I have been busy working on a soon to be released title and is working on other future titles atm. Just not for WP7. :o)

It it very hard for me to say on the top of my head what is missing since you get the NullReference exception. Can you catch the exception in VS and see what is null - or give me the stack trace from the exception? Then I can maybe tell you something.

The RenderItem stuff is part of the improved rendering system that I was working on, and it could be buggy and is not complete in any case. It can be switched off by setting ApplicationSettings.UseFallbackRendering = true. That will take you back to the older but much more reliable rendering system.

stanleyjoy commented 11 years ago

I am not implying that you were on holiday.....I am saying that four months without my stupid bugs is a like a holiday for you. I did not mean any disrespect man, if I had please forgive me.

Anyhow here is the stack trace from the issue I am facing

at PressPlay.FFWD.Components.RenderItem.UpdateCullingInfo(Camera cam) at PressPlay.FFWD.Components.Camera.Culling() at PressPlay.FFWD.Application.Draw(GameTime gameTime) at Microsoft.Xna.Framework.Game.Draw(GameTime gameTime) at FFWD.Unity.Tests.Game1.Draw(GameTime gameTime) at Microsoft.Xna.Framework.Game.DrawFrame() at Microsoft.Xna.Framework.Game.Tick() at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e) at Microsoft.Xna.Framework.GameHost.OnIdle() at Microsoft.Xna.Framework.MobileGameHost.RunOneFrame() at Microsoft.Xna.Framework.MobileGameHost.gameLoopTimer_Tick(Object sender, EventArgs e) at Microsoft.Xna.Framework.DispatcherTimerWin32.TimerElapsed(IntPtr hWnd, UInt32 uMsg, IntPtr nIDEvent, UInt32 uTime)

P.S. I have not removed the fallbackrendering when I took this stack trace..

stanleyjoy commented 11 years ago

Hey It is working when the fallback rendering is turned off... Thanks man Stan

fehaar commented 11 years ago

No prob Stan. No offence taken. :)

Glad that everything works with the fallback rendering on. The new rendering stuff never got the love that I had intended.

The old system works fine. It just has some issues especially regarding sorting of transparent objects where you might have to manually give some pointers to how stuff is sorted. But if you don't run into any issues regarding that, then everything is good.