Page 1 of 3 123 LastLast
Results 1 to 10 of 30

Thread: Which libs to use ?

  1. #1

    Which libs to use ?

    Which libraries are the "best" to use for crossplatform graphics/games ?
    OpenGL for graphics + GLUT, GLFW, SDL ?
    For audio OpenAL, is it complete, does it work with any sound card ?
    Is there a sollution with small libs like GLFW or are there some units for window management, i hate external libs wich have to be packed with my apps.
    Does anyone have experience with GLScene ?
    What about performance in accelerated/nonaccelerated systems ?

    I only used OpenGL with GLUT, GLFW(Win), pure winapi and VCL, but if someone has better ideas please share them, i don't know much about sound though. It would be nice to have a direct sollution without any external libs except the OpenGL(AL) ones, that would certainly increase the speed and would be easier to distribute.

    Maybe others want to know this too, it would be nice to have a tutorial about games comparing many popular libs.
    The future must be... Fast and OpenSource so...
    <br />Think Open and Lightning Fast!

  2. #2

    Which libs to use ?

    I think OpenGL works well with JEDI-SDL, but then I am probably biased about that. For sound you could use OpenAL, though SDL_Mixer ( also part of JEDI-SDL ) is another alternative.
    <br /><br />There are a lot of people who are dead while they are still alive. I want to be alive until the day I die.<br />-= Paulo Coelho =-

  3. #3

    Which libs to use ?

    You were fast, thanx savage.
    Isn't SDL a BIG library ?
    What license does it use ?
    Is it slow ?
    The future must be... Fast and OpenSource so...
    <br />Think Open and Lightning Fast!

  4. #4

    Which libs to use ?

    I definely suggest (JEDI) SDL.

    Quote Originally Posted by Lightning
    You were fast, thanx savage.
    Isn't SDL a BIG library ?
    What license does it use ?
    Is it slow ?
    How you define big ? DirectX come in many many MB. The needed DLL for SDL are at most 2 or 3 MB, depending of what components you need. Thay can fit without problem in your game packaging, if needed.

    It uses a license that lets you use it in closed-source and commercial games.

    It is not slow.. 3D part is based on Opengl, so it will be as fast as that. Generally it uses all hardware acceleration capabilities.

    I think it's far better than GLUT or the like. It supports many other things: input, net, font, etc, etc.

    GLScene should be good but it's Windows only AFAIK (maybe i'm wrong?).
    Also, i don't like games to work on top of VCL. I prefer dedicated windows.
    If you save your data in a proprietary format, the owner of the format owns your data.
    <br /><A href="http://msx80.blogspot.com">http://msx80.blogspot.com</A>

  5. #5

    Which libs to use ?

    Nicola,
    Just for your own info, there is a port of GLScene to Kylix and works under Linux. The latest news is that a small team of GLSceners has started work on integrating GLScene into Lazarus and therefore FreePascal, so theoretically that once that is done, it should work on most platforms that Lazarus supports.
    <br /><br />There are a lot of people who are dead while they are still alive. I want to be alive until the day I die.<br />-= Paulo Coelho =-

  6. #6

    Which libs to use ?

    GLScene should be good but it's Windows only AFAIK (maybe i'm wrong?).
    You are it works in Delphi, Kylix and is being ported to Lazarus.
    Go, go GLScene !!!
    I hate D3D but fortunately it's used by all DX games.
    SDL is BIG allright, too big, look at GLFW, now that's a lib for my taste.
    What about SDL calls, can i call OpenGL functions or do i have to call SDL ones.
    I also hate VCL games i used VCL for terrain editing but hacked the TPanel message proc for a speed boost, because i was lazy to write a whole 3D GUI.
    The fastest demos i've seen are those on Sulaco and the ones from FPC wich run extremly fast on Linux, i only need a lib for window management, the rest can be done with Pascal code(i wish everything could be done in Pascal code).
    I could use the API on win but i don't know much about X calls/signals, if i knew that i could write my own crossplatform unit for window management.

    Thank you guys !
    The future must be... Fast and OpenSource so...
    <br />Think Open and Lightning Fast!

  7. #7

    Which libs to use ?

    SDL is a thin wrapper around OpenGL. You use OpenGL functions directly within an SDL application.

    I've tested VCL and Win32 API-based 3D applications and there is no speed difference. The VCL application is bigger in file size, but speed-wise there is no difference.

  8. #8

    Which libs to use ?

    I've tested VCL and Win32 API-based 3D applications and there is no speed difference. The VCL application is bigger in file size, but speed-wise there is no difference.
    VCL intercepts a lot of messages especially paint ones and repaints your window more then necessary i used the messages to paint with OpenGL not GDI because on slow computers you see a flicker and drawing takes longer.
    The future must be... Fast and OpenSource so...
    <br />Think Open and Lightning Fast!

  9. #9

    Which libs to use ?

    Ahh. Don't use messages. Handle the TApplication.OnIdle event, set the Done parameter to False and do updates and draws in there. Now you have no speed difference between a VCL app and a Win32 API app that do the same thing.

  10. #10

    Which libs to use ?

    Quote Originally Posted by Sly
    Ahh. Don't use messages. Handle the TApplication.OnIdle event, set the Done parameter to False and do updates and draws in there. Now you have no speed difference between a VCL app and a Win32 API app that do the same thing.
    NO, the time it takes to paint is the same but CPU power is wasted wich reduces it's overall performance because of the high temperature, i used messages with good performance and a low CPU power, this might not be usual for games but if you can't detect movement you could put a timer message and get the same CPU hungry behaviour like the IDLE event.
    Though i'm pretty sure you can always detect movement and paint only when necessary this will ensure that you don't use 100% CPU all the time and lower it's temperature. The 100% CPU philosophy is a DOS feature and i don't agree with it
    The future must be... Fast and OpenSource so...
    <br />Think Open and Lightning Fast!

Page 1 of 3 123 LastLast

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
  •