Patrik

PFWGui - Source Code Now Available

56 posts in this topic

PFWGui is an OpenGL gui library. The library has been mainly developed and tested in the LeadWerks engine under Windows operating system. The goal is to support any OpenGL engine but LeadWerks is the only one I've tested it with so far. A DirectX version is also planned. The library is still in a very early stage and no thorough testing has been done yet so use at your own risk.

 

PFWGui makes use of FTGL for font rendering, Simple OpenGL Image Library (SOIL) for image loading and ksignal for the signal/slot mechanism in the gui.

 

PFWGui + Source code is available at my google code page: http://code.google.com/p/pfwgui//

 

screen2.png

 

 

Features:

- Several gui components

- Event driven

- No dependencies to leadwerks

- (should run in any opengl applications)

- All "painting" is done by one class + one for font rendering.

- Could be switched to allow it to run in DirectX applications also, not tested yet

- Signals & slots

- True Type Fonts

- Customizable colors & Shapes (rounded corners)

- Window Management

- Window Layouts

 

 

Current supported gui components:

Labels

Buttons

Checkboxes

ComboBoxes

EditBoxes

ListBoxes

ProgressBars

ScrollBars

Sliders

TextBoxes

RadioButtons

PieCharts

BarCharts

LineCharts

Images

GridView

5

Share this post


Link to post

I think you forgot to include the shaders.pak file as it wouldn't work without that.

 

Very nice demo though :)

0

Share this post


Link to post
I think you forgot to include the shaders.pak file as it wouldn't work without that.

 

Very nice demo though :)

 

Thanks, ok I must remember to include that one in the next demo then. :D

 

 

Will you release this library ? :)

 

If I get it to such a state that I would feel comfortable releasing it and if there are people that want to use it. I would most likely make a library of it and and release it.

0

Share this post


Link to post

This GUI looks wonderful! I can't get it to work. Could you include / update the appropriate shaders in the RAR file?

0

Share this post


Link to post

I've uploaded a new demo in the first post. Now it contains the shader.pak & the used materials. No new functions or other content though. Yet...

0

Share this post


Link to post

New updates:

- Radio Buttons

- Bar Charts & Pie Charts

 

New demo coming when I've implemented Line Charts also.

 

charts.png

 

charts2.png

0

Share this post


Link to post

Now that i actually dealing with "constructing" a menu i realised that all kinds of glsl shaders are "not" reachable with in 3rd party solutions ... if you just use leadwerks build in commands it would be xtreemly nice to share your work here. :)

 

anyways, keep it up.

0

Share this post


Link to post

Will you release this library ? :)

 

If I get it to such a state that I would feel comfortable releasing it and if there are people that want to use it. I would most likely make a library of it and and release it.

 

Oh believe me, there will be people interested in this. I am for starters.

 

A more important question would be: is it going to be free? :rolleyes:

 

The only bit of a GUI I've managed to do is a progress bar... with blocks and rounded edges! (rather than a solid fill with sharp edges) Some achievement huh? This however, is exceptional stuff

0

Share this post


Link to post

imho the style would be quit nice for a HUD too and i might snatch the idea.

Number 47 uses such hud which makes it look just funktional inGame - these kinds do suffer quit easy from over doing things however.

0

Share this post


Link to post

Update:

- The gui is now completely event driven. No need to poll input etc.

- No dependencies to leadwerks anymore. Should run in any OpenGL application.

- All gui "painting" is handled by one class. Can be switched out to a DirectX "painter" to allow it to run in DirectX applications also.

 

New Components:

- Line Charts

- Image component

- allows scaling, zooming & panning

 

Screen shots

 

LineCharts

lineChart1.pnglineChart2.png

 

Image component

img1.pngimg2.pngimg3.png

 

 

 

Oh believe me, there will be people interested in this. I am for starters.

 

A more important question would be: is it going to be free?

 

That's nice to hear. :) I haven't decided yet, but most likely it will be a free library.

0

Share this post


Link to post

Very nice like always, you will made the life easier for hundreds of LE owners with this lib ! I want it now :)

0

Share this post


Link to post
Very nice like always, you will made the life easier for hundreds of LE owners with this lib ! I want it now

 

Thanks. There are still some features missing before I can release a test version.

 

 

What about layout editor? )))))

 

Maybe later. First I need to get window management and component layout implemented. :)

0

Share this post


Link to post

Very good work!

 

I haven't decided yet, but most likely it will be a free library.

When you will be ready with a cool visual editor I would think a little more on this, it could reveal a nice earn if you sell it on Asset Store even at low price, I hate to see only models and textures on the store and I'd like to see specialized libraries and scripts there to let it grow up.

0

Share this post


Link to post

Ok finally some updates ;)

 

The gui now supports basic window management. Resizable & movable windows.

The windows can also have layouts assigned to them. The layouts handles the components attached to the window i.e. positions and rescales the components in relation to the window.

 

A new demo is available for download in the first post if you want to check out the new features.

 

Example

 

wnd1.png

 

wnd2.png

 

screen2.png

0

Share this post


Link to post

really nice demo, runnig very well.

it would be very interesting if you'll sell it or share it.

great work

things that should be in LE since beginning though....

0

Share this post


Link to post

A test version of the library is now available in the first post.

 

To use it you need to include the "include" folder in your project and link it agains PFWGui.lib

Also you need to have the ftgl.dll file in your application folder FTGL is used for font rendering.

Currently the font folder is harcoded to Data/Fonts where arial.ttf must be located.

 

A simple example is included in the examples folder. More are coming, along with some documentation.

 

As it's a test version expect some bugs.

0

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Create Your Account

Sign in

Already have an account? Sign in here.


Sign In Now