QuickGUI v2 Preview!

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!
Post Reply
User avatar
KungFooMasta
OGRE Contributor
OGRE Contributor
Posts: 2087
Joined: Thu Mar 03, 2005 7:11 am
Location: WA, USA
x 16
Contact:

QuickGUI v2 Preview!

Post by KungFooMasta »

QuickGUI v2

Normal Fresnel Demo:

Image

Fresnel Demo with QuickGUI support:

Image

This was taken in release mode from my laptop, using OpenGL, in 800 x 600. I have not yet profiled my new code base, so I'm pretty pleased with the results.

Demo

Here is a binary demo built on windows xp in release mode. Unfortunately I have not tested it on other machines. (Sorry I can't support any other platforms at the moment, I don't even have access to other platforms..)

The demo supports serialization and customization of skins. The layout is loaded from Test.sheet, reloading the app after making changes will show what has changed.

Skinning is very easy to set. Every widget has a "SkinType" property that is a string. The string name references a skin definition in one of the .SkinTypes files. Here is an example of the Sheet's properties:

Code: Select all

Sheet DefaultSheet
{
    BrushFilterMode BRUSHFILTER_LINEAR
    ConsumeKeyboardEvents false
    Dimensions 0 0 800 600
    DisabledSkinType 
    Dragable false
    Enabled true
    HorizontalAnchor ANCHOR_HORIZONTAL_LEFT
    HoverTime 3
    MaxSize 0 0
    MinSize 10 10
    Name DefaultSheet
    Resizable false
    Scrollable true
    SkinType default
    TransparencyPicking true
    VerticalAnchor ANCHOR_VERTICAL_TOP
    Visible true
    ...
And here is the corresponding SkinType the sheet uses:

Code: Select all

SkinClass Sheet
{ 
    SkinType default 
    { 
        ComponentType hscrollbar
        {
            ClassName HScrollBar
            SkinType default
        }

        ComponentType vscrollbar
        {
            ClassName VScrollBar
            SkinType default
        }

        SkinElement background
        { 
        } 

    } 

}
SkinElements represent actual textures. ComponentTypes are references to Components that make up the Widget. Since I'm in the process of adding scrolling support, Panels, Windows, Sheets, etc will have scrollbars. (They are not usable right now)

As you can see the SkinElement is empty, which is why the sheet is transparent. This is the standard format for non-empty SkinElement definitions:

Code: Select all

        SkinElement default 
        { 
            Border_Bottom 2 
            Border_Left 2 
            Border_Right 2 
            Border_Top 2 
            Texture qgui.button.png 
            TileBackground false 
            TileBorders true 
        } 
To add a SkinType for a widget, you can either modify the existing SkinElement definition, or create a new SkinType definition. SkinType definitions are locked into a format defined by the widget class, so its important to keep the same number of SkinElement and ComponentType definitions per SkinType definition.

Hopefully that isn't too complicated. Just open up the text files in the "QuickGUI" folder and mess around with the .SkinTypes and .Sheet file! :) If you dig around enough, you can see you are able to change ProgressBar properties, Menu properties, resizing properties, etc.

If you manage to change the skin in a cool way, please post!

(If there are problems loading the demo post also, and I can try to help!)
Creator of QuickGUI!
User avatar
syedhs
Silver Sponsor
Silver Sponsor
Posts: 2703
Joined: Mon Aug 29, 2005 3:24 pm
Location: Kuala Lumpur, Malaysia
x 51

Post by syedhs »

QuickGui 2 -> what a pleasant name! Really, and I can see you put up a lot of efforts on it. Cant wait to see and download the final release. :)
A willow deeply scarred, somebody's broken heart
And a washed-out dream
They follow the pattern of the wind, ya' see
Cause they got no place to be
That's why I'm starting with me
User avatar
NickM
Bronze Sponsor
Bronze Sponsor
Posts: 65
Joined: Sat Jul 01, 2006 10:41 pm
Contact:

Post by NickM »

Great work, I'm currently using QuickGUI for my game, I'll be switching to QuickGUI 2 when it's released, keep up the good work, it's really appreciated. :D
User avatar
betajaen
OGRE Moderator
OGRE Moderator
Posts: 3447
Joined: Mon Jul 18, 2005 4:15 pm
Location: Wales, UK
x 58
Contact:

Post by betajaen »

Yeah baby! QuickGUI2 needs more love!
User avatar
my.name
Goblin
Posts: 222
Joined: Tue Aug 08, 2006 2:58 pm
Location: Moscow
x 1

Post by my.name »

=)
Image
Image
User avatar
KungFooMasta
OGRE Contributor
OGRE Contributor
Posts: 2087
Joined: Thu Mar 03, 2005 7:11 am
Location: WA, USA
x 16
Contact:

Post by KungFooMasta »

I found 2 bugs that were really obvious and squashed them. I've updated the link to the demo in the first post.
Creator of QuickGUI!
User avatar
AshMcConnell
Silver Sponsor
Silver Sponsor
Posts: 605
Joined: Fri Dec 14, 2007 11:44 am
Location: Northern Ireland
x 16
Contact:

Post by AshMcConnell »

Looks good. I really can't make up my mind about ogre GUIs now, QuickGUI2 looks very good indeed!

All the best,
Ash
User avatar
KungFooMasta
OGRE Contributor
OGRE Contributor
Posts: 2087
Joined: Thu Mar 03, 2005 7:11 am
Location: WA, USA
x 16
Contact:

Post by KungFooMasta »

Update! I've put out a release while I continue to work on new features. :)

http://www.ogre3d.org/phpBB2addons/viewtopic.php?t=8164

There is a problem right now where QuickGUI does not work with OpenGL. Hopefully the issue gets resolved soon, I need to track down what Shoggoth additions caused the library to stop working. :(
Creator of QuickGUI!
User avatar
almondega
Halfling
Posts: 67
Joined: Mon Jun 23, 2008 7:34 pm
Location: Brazil

Post by almondega »

is the skin system faster then the older version ?
(that one that fills a big image file with all skins)
User avatar
KungFooMasta
OGRE Contributor
OGRE Contributor
Posts: 2087
Joined: Thu Mar 03, 2005 7:11 am
Location: WA, USA
x 16
Contact:

Post by KungFooMasta »

Yah, with texture caching I don't need a texture atlas anymore, so you can keep your image files anywhere you want and introduce them to QuickGUI using Skin definitions. Its now easier to create skins, share them with others, and modify existing ones, without doing any image manipulation.

Here is the wiki tutorial describing how the skinning works, its short and simple. :)
Creator of QuickGUI!
User avatar
almondega
Halfling
Posts: 67
Joined: Mon Jun 23, 2008 7:34 pm
Location: Brazil

Post by almondega »

perfect :D
i'll try it soon
Post Reply