RenderTargets - CEGUI's latest development
Moderators: CEGUI MVP, CEGUI Team
-
- Just popping in
- Posts: 7
- Joined: Mon Oct 13, 2008 07:35
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
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.
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.
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
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
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.
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
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.
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
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
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.
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
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.
-
- Quite a regular
- Posts: 74
- Joined: Mon Apr 28, 2008 23:21
- Location: Australia
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
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
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.
That will be good The project definitely needed a kick, and with any luck this will be it!
CE.
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.
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!
BTW. Will your changes be compaitble with the existing CEGUI Ogre Renderer Interface or will Sinbad have to update that too?
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!
BTW. Will your changes be compaitble with the existing CEGUI Ogre Renderer Interface or will Sinbad have to update that too?
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
Van wrote:my stuff is still being clipped *nudge*: Q: Setting window position so its not clipped by parent
I thought I had six months
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!
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 ).
CE.
- Jabberwocky
- Quite a regular
- Posts: 86
- Joined: Wed Oct 31, 2007 18:16
- Location: Canada
- Contact:
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.
Space Combat. Planet Exploration. Strategic Domination.
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 ).
CE.
Opps. My Bad!
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.
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
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.
- ErikHjortsberg
- Not too shy to talk
- Posts: 26
- Joined: Sun Jan 23, 2005 12:45
- Location: Sweden
- Contact:
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.
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 3 guests