BGE-HARMONY PHASE 2 | November 2012: Still going strong.

It seems in the last month or so there’s been a lot of talk of improving the graphical capabilities of the BGE. Now there may have been times where it seems like the BGE-harmony project has fallen off of the radar completely which leads to the question on whether it’s still being worked on. I am here to tell you that the answer is a definitive yes.

There has recently been a major commit that will now allow a BGE-user to override the built in light and prepass shader system, which is the continuation of various commits to allow more user control over rendering in the BGE. (with a bugfix to boot)

And not only for the viewport, but for the Blenderplayer as well. (along with another bugfix)

Do remember though, Kupoman has things in real-life too so he shouldn’t be expected to spend 8 hours a day 7 days a week on this project, but this can be seen as evidence of his commitment to get this project done so we should be happy for that.

One final note, just to keep things current, one can choose to treat this as a new thread to cover the progress of BGE-harmony, so let the feedback begin.

Great to hear about continued development on the renderer. Kupoman and Moguri have been plugging away at this, so I’m glad to see some pay-off for their efforts. Thanks a lot to them, seriously.

I check the dev of this branch everyday. If this gets succesful, bge will be WOW.It the best thing ever happened to bge.
Thank you kupoman and moguri! And we should fund them, good.

Wondering if there is going to be a post fx speedup…

Harmony is to the BGE, as Cycles is to Blender.

Great to see progress being made. We’re already benefiting from the hard work thats gone into this branch, from the additions in 2.46. Looking forward to seeing the next few steps.

Does this mean we will be able to gain access to shadow maps in side our GLSL shaders?

Currently when you apply a GLSL shader to all objects in the BGE shadows no longer work.

Even more than cycles :slight_smile: . Atom,this isnt sure. It doesent change much related to shaadows,but better light casting support.Faster lighting with more than 30 lights possible. Now i am not sure.

This will likely be a phase 3 goal.

Thanks everyone for the kind words. My course work has eased up a little giving me time to work on Harmony, but this is not likely to last long. That being said, I hope to get phase 2 into 2.66.

Or before 2.66 some test builds so we can have some fun with them :slight_smile:

Thank you, it will be very cool to play with this feature in the viewport.

I think what Ace Dragon meant by viewport was the embedded player. Hamony phase 2 does nothing to the viewport preview.

Per-pass FBO support has now been added, this will ultimately allow more user control over another aspect of the rendering (though I’m not entirely confident on what he means by MRT’s, multiple render-targets?)

Yes, multiple render targets. The idea is to allow the user to set how many targets, and what format they are for each of the render passes (pre, main, and light). That should give the custom render shaders some flexibility.

Kupoman,got 2 simple questions:
Will the post fx be faster as a result of this branch?
Will the shadows be faster too?

Possibly, and most likely not.

I tried to improve the speed of 2D filters, but was unable to get a significant improvement on my gtx 260. However, the intel chip in my laptop did see significant improvement by cleaning up some of the state switching.

But can something be done in order to have for example smooth bloom,like in this image.

At the momment too many samples hurts the performance and still doesent look as smooth,what does this games use to have such high quality filters?

Downsampling probably has a lot to do with it. Using 2D shaders without downsampling seems a bit silly if anything, it really restricts what you can do with shaders while keeping efficiency. Im sure theres probably other ways to optimize, but that seems to be the major drawback a the moment.

Will it be possible to do these things:

  • Render dynamic lights to lightmap (like lighting on walls when you shoot in Quake or flashlight in Half-Life, for instance)
  • Render shadows from lightmap on dynamic objects, according to angle to light source (have static shadows on moving things)

Trq with this new system you dont need to bake things anymore because it would allow us to use lots of lights with less fps cost.

Well, I’m not sure. Lightmaps are still used in modern games, it gives good looking static shadows and saves fps. Baked shadows can be blured in external program for smoother look, and you can use any type of lights (not only spotlights, as in current version of BGE). For complex indoor levels with a lot of static geometry lightmaps are still better solution, I think.

Well,yeah for multiple lights that should cast shadow the best solution is to bake shadows.However harmony has nothing to do with light maps as it just improves the dynamic lighting.