Results 1 to 4 of 4

Thread: Development roadmap

  1. #1

    Default Development roadmap

    Hello ClanLib devs

    I love ClanLib!

    I am wondering if there is a development roadmap for ClanLib? I do not want to know the "when" stuff, rather I want to know "what goes in to ClanLib". Also, how much of the API that will not be backwards compatible between releases (approximately).

  2. #2
    ClanLib Developer
    Join Date
    Sep 2006
    Location
    Bergen, Norway
    Posts
    588

    Default

    We're currently busy coding on the 0.9 version, which is quite different from 0.8.

    The 0.9 Display is a total rewrite, and is now much better with integrating with OpenGL. In 0.8 it was quite difficult mixing OpenGL code and ClanLib code - in 0.9 this is much easier. It also provides access to more modern features of graphic cards like shaders, frambuffers, vertex bufffers.

    Also, the GUI is a total rewrite, since we realized making your own themes in 0.8 was very hard. Now its done using CSS and is really easy and cool. 0.8 GUI was also busy-drawing, making it real hard to use in real applications. 0.9 GUI is now more integrated into the OS platform, and you can make real GUI apps that behave like real GUI apps. Using it for games its also more efficient in that it can render to textures, so when you don't update the content of the GUI, its just a texture render to get the GUI on screen.

    The Core project is also much improved, but I don't know the exact details there.

    To be honest, we don't have a roadmap, we currently just work on whatever area we feel like. We have good ideas which areas still need refining, but its not written down in documents.

  3. #3
    ClanLib Developer
    Join Date
    Sep 2006
    Location
    Denmark
    Posts
    554

    Default 0.9 roadmap

    The current roadmap/features for clanDisplay + clanGL:

    • Support all basic primitive types (points, lines, triangles, quads, polygons)
    • Easy specification of vertex and element arrays, in both system and video memory.
    • State classes to group and simplify OpenGL state management.
    • Fully embrace and support frame buffer objects, textures and shader objects.
    • Manage the viewport, matrices and clipping to allow toggling between 2d mapping modes and 3d.
    • Implement sprites (pretty much as you know it in 0.8) in this new system, plus include other helpers to draw other common primitives used in 2d.
    • More feature complete and sane window management and message handling.
    • Framework to ease batching of primitives to be drawn.


    Almost all of this is already working in 0.9 svn, the main weak point being the CL_Sprite implementation being incomplete when you try do more advanced stuff than simply drawing the frames. Other than that, it is mostly CL_Texture that can need a little more care to ensure it nicely handles all known texture formats and similar care on the CL_PixelBuffer and image loaders. Finally the framework for batching isn't there beyond that you can describe primitives arrays - there are no classes currently to help fill such arrays.

    For clanGUI the roadmap is:

    The new GUI uses an abstraction that differs greatly from 0.8 in the way that there is longer a single component tree. Instead, the system operates with the concept that components span in a tree structure from a "top-level window". The top-level windows are then handled by a window manager, which allows the GUI windows to be anchored in different ways:
    • The first way is by using the system window manager, which creates actual OS windows (using CL_DisplayWindow) from each top-level window. The effect is that all CL_Window, CL_PopupMenu, etc., components become real windows, making the application look like a traditional GUI.
    • The second way is the texture window manager. This WM creates textures for each top-level window, allowing the application to do its own window compositioning. The application no longer needs the GUI to redraw itself on each frame drawn in a game, since each GUI window now ends up cached in a texture. Fancy effects can also be applied using shaders, e.g. bending the GUI with a monochrome look - if you fancy that.
    • Write your own custom window manager. The WM is the glue which routes input to the GUI and the gfx out of the GUI, so in principle you could wrap the GUI on a cube (or an in-game monitor like in Doom 3), map the mouse-move messages to where you point your gun at, etc etc. Your own imagination is the limit.


    The GUI also includes a lot of other nice new features, such as:

    • New theme system. It uses 'theme parts' which can be styled and customized through CSS. These parts are then used by all the standard GUI components.
    • Redesigned and added many new standard components.
    • Of all the new components, CL_ListView deserves special mentioning. This new version implements the majority of functionality included in conventional UI listviews.
    • Redesigned message passing and added timer objects, true type fonts, accelerators and many other things you are used to having available in traditional GUI toolkits.


    The main showstoppers for the GUI currently are incomplete standard components, lack of layout management and minor tweaking between clanDisplay messages and clanGUI messages.

    clanCore and clanNetwork has also undergone a lot of work, but since those are mainly supporting infrastructure for more exciting stuff, I'm not gonna bother make a long a list. Finally 0.9 adds simple APIs for doing regular expressions and database connectivity.

  4. #4

    Default

    Thnx for two very good answers to my question.

Similar Threads

  1. Novashell Roadmap?
    By whisperstorm in forum Novashell Game Creation System
    Replies: 3
    Last Post: 01-22-2007, 06:08 PM
  2. Davidi Development
    By Davidi in forum RTsoft Tavern
    Replies: 10
    Last Post: 08-07-2004, 06:14 PM
  3. Is FQ development happening?
    By jjohn in forum Funeral Quest
    Replies: 2
    Last Post: 08-15-2003, 02:13 PM
  4. "New" D-mod in development
    By Satanic Ewok in forum RTsoft Tavern
    Replies: 2
    Last Post: 09-22-2002, 12:02 PM

Bookmarks

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •