Results 1 to 7 of 7

Thread: A few dumb noob questions

  1. #1

    Question A few dumb noob questions

    Hi all,
    After wrestling for sometime on Ubuntu I finally realised the clanlib package is hopelessly out of date (0.8) and I installed clanlib 2.0.3 with only a little hassle (someone really ought to donate an updated package).
    I haven't had much chance to play so far but anyhow I have a few questions some of you more experience users may be able to help with.

    I'm looking to do some 3D stuff within my app, what do other users recommend?
    A search for 3d here and on the clanlib site gives me zero hits.
    some 3d primatives in clanlib I haven't found yet?
    direct use of opengl?
    integration of clanlib with another library E.g crystal space or ogre?

    One thing quite I liked from 0.8 was the glcube example. Its vanished from 2.0 and the code is incompatible with 2.0.3. What happened to it?

    Are there any concrete examples of programs out there using clanlib as a basis?
    I couldn't find anything more than an alpha or beta in a quick glance over the "Showcase" forum. I would have thought you'd highlight your success stories a little more.

    Finally, an indirectly related question. Is anyone using a physics abstraction layer with clanlib such as OPAL (open physics abstraction layer) or ODE (open dynamics engine)?

    For context I'm looking to cobble together a user interface on top of a simulated 3d world.
    I'm more interested in the simulation side than the rendering so performance doesn't half to be real-time though it would be better.



  2. #2
    ClanLib Developer
    Join Date
    May 2007


    ClanLib can do 3D using OpenGL by just using the ClanLib API.

    ClanLib 2.0 currently does not have any functions to create 3D primitives. I am personally looking into it, but I am unsure at the moment if it will be a part of an example, or included directly in clanDisplay/3D as a helper function.

    The screenshots for the 2.0.3 release can be found here ....

  3. #3


    Thanks. That's a handy link. I'd played with the examples a bit but I completely missed that the gui test could go all '3d and wavey' like that. Those both would be great advertising on the home page (assuming you want to advertise). The cubeGL1 test was the example I was looking for. It works just fine and should give me some pointers of where to start on the 3d side. I'll inevitably have to knock up a few wrapper classes, which I can feed back here if you're interested (it will be a while as I've a lot of other comittments).

    Do you have any clue how well clan lib scales? I'm months away from hitting any limits like that but it would be quite a headache to workaround so any tips would be useful.

    I'd still be intrigued to know of any release quality programs using clanlib as well.



  4. #4


    I've decided (for now) to go with Irrlicht ( for the 3D side of things.
    Clanlib still looks good for everything else though.
    If I want to do this I presumably need to create a clanlib canvas which is rendered by the other library.
    Does anyone have any experience or tips for integrating Clanlib with other graphics libraries?

  5. #5
    ClanLib Developer
    Join Date
    May 2007


    It depends how good the graphics library is.

    The biggest problem is the message queue.

    See Sources/SDL ... to see how the SDL target does it

    Do you have any clue how well clan lib scales? I'm months away from hitting any limits like that but it would be quite a headache to workaround so any tips would be useful
    ClanLib doesn't have limits (or it shouldn't have). It's design means it's extremely fast and flexible.

    Because of this, clanlib can do from network game servers, to IRC clients.

    Note the last release, we have more 3d examples: See -

    At the moment, 3d model support isn't included into ClanLib. This is because, it will be very difficult (and in my personal opinion - impossible) to create an API that will satisfy everybodys needs. Instead the example code contains 3D routines that the client application can use.
    Last edited by rombust; 10-14-2009 at 05:36 PM.

  6. #6


    That seems like it might be overkill to me. I don't necessarily want to write a new display target for clanlib (or equally for the other library). Rather I just want to say, here is a window (possibly embedded in a clanlib gui) the contents of which are rendered by this other subsystem. Ideally I want to deal only with the minimal complications necessary for if the window is moved. Kind of a foreign framebuffer interface.
    My feeling is that the 3D graphics should be the foreign one but it could work either way around. Is there any reason why this wouldn't work or would be harder than providing a whole new display target?

  7. #7
    ClanLib Developer
    Join Date
    May 2007


    Providing a display target should be easy.

    For example:
     CL_SDLTextureProvider::create(int width, int height, CL_TextureFormat internal_format, int depth)
    simply calls:
    	surface = SDL_CreateRGBSurface(SDL_SWSURFACE | SDL_SRCALPHA, width, height, 32, rmask, gmask, bmask, amask);
    	if (!surface)
    		throw CL_Exception(cl_text("Cannot create surface for SDL target"));
    That way, you can use clanGUI

    But it still maybe overkill, depending on what you are doing.

    Personally, I don't think it's worth the effort

Similar Threads

  1. Dumb Pathfinding (Ignores walls etc)
    By Pleng in forum Novashell Game Creation System
    Replies: 1
    Last Post: 01-15-2010, 05:20 PM
  2. few questions :D
    By virtual_lady in forum Dink Smallwood HD
    Replies: 3
    Last Post: 07-10-2005, 07:02 AM
  3. Too dumb for money
    By in forum Dink Smallwood HD
    Replies: 5
    Last Post: 05-30-2005, 12:55 AM
  4. Dumb Duck
    By in forum Dink Smallwood HD
    Replies: 8
    Last Post: 02-28-2005, 09:26 AM
  5. This sounds really dumb, but...
    By in forum Dink Smallwood HD
    Replies: 1
    Last Post: 11-08-2004, 07:12 PM



Posting Permissions

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