RenderTargets - CEGUI's latest development

Discussion regarding the development of CEGUI itself - as opposed to questions about CEGUI usage that should be in the help forums.

Moderators: CEGUI MVP, CEGUI Team

AndryBlack
Just popping in
Just popping in
Posts: 7
Joined: Mon Oct 13, 2008 07:35

Postby AndryBlack » Tue Oct 14, 2008 14:00

Perhaps you are right.
But a little experiment with the current version. I cannot think of the effects of which can not be realized without changing CEGUI. Lua might still))

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Postby CrazyEddie » Sun Oct 26, 2008 09:20

Hi,

Apologies for the lateness of this response; I have been unwell.

Largely the effects are things such as rotation of Windows and other animated effects that are currently popular ("wobbly" windows and the like) - so basically an ability to affect the geometry on which a Window is based. Other effects could be per-window shaders and other such things.

There's also the possibility of the user performing their own direct rendering for a window or widget.

These are all pretty much impossible with the current code, and where possibilities to achieve these results exist, the solutions largely constitute hacks of one form or another.

Also, due to more and more delays (mostly due to a lack of time on my part), there is now no ETA on these modifications, so for the moment the 0.6.x approach will remain (and probably for a while yet :().

CE.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Postby CrazyEddie » Fri Jan 16, 2009 14:55

I thought I'd better post an update here in case there's anybody not following the related conversations in other threads.

Basically, the code in rendertarget-devel was not sufficient to allow the kinds of things we needed from CEGUI, so another redesign of rendering was decided upon - this took an age to get around to starting for various reasons :roll:

Anyway, work has commenced on this - for the OpenGL renderer to start with, other renderers will follow - and something functional will hit SVN very soon (within days) - as well as providing the same things that the rendertarget-devel code did (some code is reused, obviously), though also boosts speed (considerably in some cases) even without using rendering to texture, and will offer new facilities such as rotation and hooks into the rendering process for other effects (which will be demonstrated in due course ;) ).

CE.

Pompei2
Home away from home
Home away from home
Posts: 489
Joined: Tue May 23, 2006 16:31

Postby Pompei2 » Sat Jan 17, 2009 01:09

CrazyEddie wrote:such as rotation and hooks into the rendering process for other effects (which will be demonstrated in due course ;) ).

incredible thing! I'm looking forward!
This is definitely the best gui library and the best thing is you keep improving it!

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Postby CrazyEddie » Sat Jan 17, 2009 11:00

Pompei2 wrote:This is definitely the best gui library and the best thing is you keep improving it!

:mrgreen:

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Postby CrazyEddie » Sat Jan 17, 2009 21:00

Update time again :)

The core features for the rendering system updates are 99% complete. There's mainly some cleanup / polishing work to do, and also some minor issues still to resolve. My original intention was to commit the initial version of the code to SVN tomorrow, though I do not think this will happen - it will be a couple more days.

I know some will be disappointed by this news, but I'd rather commit something I'm totally happy with than not - plus I'm having so much fun with it, I'm reluctant to share :lol:

In order to whet your appetites a little, I've made a video that shows an early attempt at wobbly-windows type effect. The quality is not great, apologies for that, but you still can see what's going on.

[Edit]
I've now also uploaded another video, this time showing some rotating windows.

CE.

earthsruler
Quite a regular
Quite a regular
Posts: 74
Joined: Mon Apr 28, 2008 23:21
Location: Australia

Postby earthsruler » Sun Jan 18, 2009 23:09

OMG!!!asdfaoidfpaysedrfy8sfvhjvch

Sorry. I just got so excited that i randomly mashed the keyboard and passed out.

Looks great! Cant wait to have a play!

And what is this I hear of performance improvements? (i'm always interested in that.)

Pompei2
Home away from home
Home away from home
Posts: 489
Joined: Tue May 23, 2006 16:31

Postby Pompei2 » Mon Jan 19, 2009 08:09

I can imagine this will give CEGUI a BIG publicity push and a LOT of more users! When this will be incorporated in more and more opensource games, the users that were impressed by the windows vista "3D windows switcher" (HAHA :lol: ) will look dumb

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Postby CrazyEddie » Mon Jan 19, 2009 10:12

Hi guys,

thanks for the comments, I'm glad that you find the things in the videos interesting. I thought in the absence of actual code it would be beneficial to show some aspects of the capabilities of the new renderer model; it also shows that what I'd been talking about for a while now is real and not vapourware ;)

earthsruler wrote:And what is this I hear of performance improvements? (i'm always interested in that.)

The new model for the renderers is much more efficient (when implemented correctly) when compared with the old versions. There are performance gains - some quite substantial - to be had in the general case, meaning when not using textures to cache imagery. When you do use textures to cache window imagery there are also additional gains there.

The key for me is that we now have an arrangement where for many interactive operations there is a much limited impact on performance. For example, moving a top-level window around is now virtually free in terms of performance impact (this also holds true when applying that 'wobble' effect - there is no appreciable hit when moving those windows in the demo ;) ). Changing the state of a button, or scrolling a list should no longer cause things to grind to a halt, since only the minimum needed work will be done to make the changes.

I'm not prepared to publicly quantify the gains as FPS values at the moment - but in general I think people will not be disappointed.

Pompei2 wrote:I can imagine this will give CEGUI a BIG publicity push and a LOT of more users!

That will be good :) The project definitely needed a kick, and with any luck this will be it!

CE.

User avatar
Van
Just can't stay away
Just can't stay away
Posts: 225
Joined: Fri Jan 21, 2005 20:29
Contact:

Postby Van » Mon Jan 19, 2009 11:24

Wobble windows are kool and everything (and here it comes)..
But, uh, my stuff is still being clipped *nudge*: Q: Setting window position so its not clipped by parent

*whistles as he walks away*

Really CE, that is some damn fine work! Fantastic job! 8)

BTW. Will your changes be compaitble with the existing CEGUI Ogre Renderer Interface or will Sinbad have to update that too?

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Postby CrazyEddie » Mon Jan 19, 2009 12:56

Van wrote:my stuff is still being clipped *nudge*: Q: Setting window position so its not clipped by parent

:shock: I thought I had six months :lol:

Seriously, though. It is on my list, and I intend to get it done as soon as this first take on the new renderer system is completed. As such, you might expect to see it done by this time next week (barring any unforeseen issues, of course).

Van wrote:Really CE, that is some damn fine work! Fantastic job! 8)

Thanks :)

Van wrote:BTW. Will your changes be compaitble with the existing CEGUI Ogre Renderer Interface or will Sinbad have to update that too?

These changes will require pretty much a complete rewrite of all the CEGUI renderer modules, the Ogre one included. While the general higher-level way CEGUI works will remain largely the same, beneath the surface, the changes to CEGUI and the way it deals with rendering are fundamentally different.

My general approach to this is going to be to get the OpenGL renderer completed first - to ensure that all the other parts of CEGUI are functioning correctly, and fine-tuning any parts that might need adjustments to the new renderer interfaces. Once that is done, I will write a document that describes the new approach to renderers; how the overall rendering system is structured, what bits perform which operations, which parts have to be implemented, and how it all differs from the old system. The idea then being that this document and the finished OpenGL implementation form a reference - both for us to use when updating the other renderer modules we host, and for external libraries to start to update theirs.

Btw, technically the Ogre renderer module is still 'ours' and if nobody gets there first, we will implement the new version (hopefully, someone else will get there first :mrgreen:).

CE.

User avatar
Jabberwocky
Quite a regular
Quite a regular
Posts: 86
Joined: Wed Oct 31, 2007 18:16
Location: Canada
Contact:

Postby Jabberwocky » Mon Jan 19, 2009 19:07

That rotation stuff will come in pretty handy. And I see we're not just getting 2D rotation, but some fancy 3D stuff that can totally jazz up an interface. Very cool!
The Salvation Prophecy
Space Combat. Planet Exploration. Strategic Domination.

User avatar
Van
Just can't stay away
Just can't stay away
Posts: 225
Joined: Fri Jan 21, 2005 20:29
Contact:

Postby Van » Mon Jan 19, 2009 20:17

CrazyEddie wrote:Btw, technically the Ogre renderer module is still 'ours' and if nobody gets there first, we will implement the new version (hopefully, someone else will get there first :mrgreen:).
CE.


Opps. My Bad! :oops:

OK. Well, then we will wait. We can be patient. Our media dept is chomping at the bit to incorporate some of those effects. Gotta watch those guys - they want to use every freaking bell and whistle. :roll:

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Postby CrazyEddie » Tue Jan 20, 2009 09:58

Jabberwocky wrote:That rotation stuff will come in pretty handy. And I see we're not just getting 2D rotation, but some fancy 3D stuff that can totally jazz up an interface. Very cool!

I wrestled with whether to go for the three axis rotation for some time - it was in in my original proof of concept app that I wrote last summer - though of course there were always simplicity issues that might have pushed me to not include it in the final thing.

Van wrote:OK. Well, then we will wait. We can be patient.

I thought about running a poll to see which renderer people wanted updated next, though participation in such things seems minimal on here. I'll probably do the D3D ones next, then the Ogre and Irrlicht verisons. Of course rewriting a renderer should not really take that long, a lot of the time on this initial version is being spent on the internals of CEGUI rather than the OpenGL side of things.

With regards to getting the initial version done, I have only two real issues to resolve now, and they're being more of a pain than originally anticipated.

User avatar
ErikHjortsberg
Not too shy to talk
Not too shy to talk
Posts: 26
Joined: Sun Jan 23, 2005 12:45
Location: Sweden
Contact:

Postby ErikHjortsberg » Tue Jan 20, 2009 15:37

This sounds like really exciting developments.
If you want to record some videos of GL apps in Linux I can recommend GLC over at http://nullkey.ath.cx/projects/glc/. I've used it to record my videos and found that it's very easy to use and doesn't take too much resources.
Ember, a client for the Worldforge system.


Return to “CEGUI Library Development Discussion”

Who is online

Users browsing this forum: No registered users and 16 guests