QuesoGLC
Documentation
Sourceforge
SourceForge.net Logo
OpenGL


Happy New Year 2008 !!!
[5 - Jan - 08 @ 23:06]
   Posted into: General

 First of all, I would like to wish an happy new year to the QuesoGLC users, contributors and, of course, to the visitors. This is the traditional time for a reminder of the main events of 2007 and a discussion of what is coming in 2008.

As I said in a previous post, QuesoGLC is now used in very active projects. Not only I am proud that they chose QuesoGLC for rendering text in OpenGL but it allows the project to make huge steps towards stability and portability. Several bugs have been reported by Warzone and Navit contributors which have been (or are on their way to be) fixed.

Release 0.6.5 has also been the opportunity to migrate QuesoGLC from CVS to SVN. I have to say that SVN is really better than CVS in many aspects. My favorite improvements over CVS are :
  • Revisions are managed by commits instead of being managed by files.
  • The copy/move commands.
  • The svn revert command which allows you to easily get back the last committed version of a file.
  • The minimized requests to the server which allow to use SVN (except svn update and svn commit) even when you are not connected to the Internet.

    I hope to release 0.7.0 by the end of January 2008. The big improvements will be :
  • An improved support of the Mac OS X platform
  • The use of vertex buffer objects (VBOs) instead of display lists whenever possible.

    The latter should allow more speed improvements especially for owners of ATI/AMD gfx cards. (I have read in OpenGL forums several reports of slowish display list management for ATI/AMD GL drivers).

    The (not so) bad news are that the replacement of Fontconfig by the use of native functions under Windows will not be for 0.7.0. May be for 0.8.0 ? However, I created a branch "win32" in SVN which is devoted to that purpose. Some code is already written (see the directory src/win32) but much more code is needed in order to compile QuesoGLC without Fontconfig under Windows.
  •   
     Comments [4]  


    0.6.5 is out : QuesoGLC is still alive...
    [10 - Nov - 07 @ 20:37]
       Posted into: Release

     ...and is in a pretty good shape. Not only 0.6.5 has been released but the list of its users is growing. Actually, both events are connected : when the user community grows, bugs are discovered at a higher pace and bug fix releases must be done. Hence 0.6.5.

    So welcome to Navit and the Warzone 2100 Resurrection Project as new users of QuesoGLC and thanks to their developers for pointing out those nasty bugs that have been fixed in release 0.6.5.

    Those of you who read carefully the changelog may have discovered that among bug fixes, 0.6.5 introduces a better use of threads local storage (a.k.a TLS). Before 0.6.5, QuesoGLC made a call to pthread_get_specific (POSIX) or TlsGetValue (Win32) each time a GLC command was executed. Those are expensive calls which are generally not justified since the vast majority of GLC users only ever use one GLC context. So QuesoGLC now uses ELF TLS when available on POSIX platforms otherwise QuesoGLC tries not to use pthread_get_specific/TlsGetValue when only one context is in use. This smart hack is directly inspired by Mesa implementation of GL dispatch.

    Now about the future, QuesoGLC is expected to get rid of FontConfig for Win32 platforms for next release 0.7.0. Indeed FontConfig is a very good library but it is far too Unix-ish and may have strange behaviours on Win32 ("Fontconfig error: Cannot load default config file", see this interesting thread on FontConfig mail archives).

    As usual, it will be ready when it will be ready ;)
      
     Comments [0]  


    QuesoGLC 0.6 has been released
    [13 - Mar - 07 @ 07:21]
       Posted into: Release

     Three months after QuesoGLC 0.5 has been released, time has come to release QuesoGLC 0.6. Many changes have been commited to CVS, mainly bug fixes. Brandon Casey has contributed many of them. Thanks Brandon ;)

    Nothing really new has been included in this release although much code has been written. Work has been focused to improvement of internals of QuesoGLC. Speed has been improved one more time and QuesoGLC should now be reasonably fast enough to be included in serious apps.

    QuesoGLC has now reached the point where all functionalities are implemented and where code becomes more and more complex as new optimizations are included. Cached datas, OpenGL extensions and memory management are the bricks that are used to build a hopefully lean, fast and efficient library without sacrificing stability. This is the point that should differentiate QuesoGLC from other libraries that provide text rendering with OpenGL : most of them just get the font from a file and display the glyphes without taking into account caching and memory management. Such libraries are just not efficient when it comes to display Unicode text : many different glyphes can potentially be displayed while a few of them are actually used. If you do not use cleverly the resources, you either blow up the memory or slows down the whole thing by reading each glyph from a file then displaying it, then reading from a file, then displaying, then...

    Finally, some of you may have noticed that since release 0.4, QuesoGLC is released on a 3 months rate. This is a good trade off between the "release often, release soon" paradigm of Open Source and the reality of QuesoGLC development for which contributions are not that numerous (including mines :hoh: ). But even on that side, things have evolved recently :D
      
     Comments [2]  


    QuesoGLC under Windows
    [3 - Sep - 06 @ 21:26]
       Posted into: General

     At the beginning of August, a mail has been posted to the mailing list of QuesoGLC where a user (Matt Turner) complained about the difficulties he encountered to compile QuesoGLC under Windows. Most (if not all) of his complaints were justified :
  • QuesoGLC claims more or less that it can be used under Win32 because of the reference to WGL on the web page.
  • The configure script was looking for Unix stuff which is (of course) not available under Windows.
  • Pthreads were mandatory in spite of the claims of the configure script.
  • The pedantic-error flag was set during compilation which screwed up the whole thing since some Windows headers are not pedantic.

    In spite of these difficulties, Matt succeeded in compiling QuesoGLC under Windows :o. He made it. So far, I thought QuesoGLC was far too Unix biased to be compiled under Windows without a major rewriting. But Matt proved that I was just wrong. He managed to compile the library with some major modifications in the building scripts but he changed just one line in the source code... After all, FreeType and Fontconfig (and even pthreads) are available as DLLs and they are the only dependencies of QuesoGLC. Matt showed me that it was possible and clearly this should be done for the release 0.4.

    When I came back from holidays, I decided to make QuesoGLC Windows friendly just as it is Unix friendly. I removed the pthreads dependency and replaced them by native Win32 routines. I also made a makefile (named makefile.mgw) that allows to compile the library more easily and which do not use the pedantic-error flag. No configure script is needed. I am not sure however that the building process is very user-friendly but it works. After all, this is just a first try and improvements still can be made.

    Thank you Matt ;)

    PS : The pthreads dependency has been removed for Win32 only. Pthreads are still being mandatory for POSIX platforms.
  •   
     Comments [0]  


    How to add UTF-8 support in GLC ? (part III)
    [23 - Jun - 06 @ 05:11]
       Posted into: GLC extensions

     Finally, I turned out to be wrong. :hoh: The Unicode standard limits the character codes to the range [0; 0x10FFFF] which allows any valid UTF-8 codepoint to be stored in a 32 bits integer that is in a GLint integer. The limitations that I described in this post and this post are thus pointless.

    As a consequence, any valid Unicode codepoint can be given as an argument to every QuesoGLC function whether the string type is set to GLC_UTF8_QSO or not. Of course, if the value is not a valid codepoint a GLC_PARAMETER_ERROR is raised.

    QuesoGLC 0.4 will welcome back UTF-8 in a consistant yet complete way.;)
      
     Comments [0]  


    << October 2008 >>
    M T W T F S S
        1 2 3 4 5
    6 7 8 9 10 11 12
    13 14 15 16 17 18 19
    20 21 22 23 24 25 26
    27 28 29 30 31    

    Category




         Archive
    • October 2008
    • September 2008
    • August 2008
    • July 2008
    • June 2008
    • May 2008
    • April 2008
    • March 2008
    • Febrary 2008
    • January 2008

    • 2007


    rss logo
     

    admin

    Powered by RedBLoG