last updated at 21 May, 2002 13:37 (4 times) In the latest Team Trier Collection (TTC) they mentioned CrystalSpace that it is included on the CD. I've actually never seen any postings regarding the graphics engine been released for OS2. Only times that I've seen it mentioned is within the TTC announcements. So what the is the CrystalSpace then? Well, from the homepage following can be read:Crystal Space is a free (LGPL) and portable 3D Game Development Kit written in C++. It supports: true six degree's of freedom, colored lighting, mipmapping, portals, mirrors, alpha transparency, reflective surfaces, 3D sprites (frame based or with skeletal animation), procedural textures, radiosity, particle systems, halos, volumetric fog, scripting (using Python or other languages), 8-bit, 16-bit, and 32-bit display support, Direct3D, OpenGL, Glide, and software renderer, font support, hierarchical transformations... and it also mentioned that this engine runs under OS2: Crystal Space currently runs on GNU/Linux, general Unix, Windows, Windows NT, OS/2, BeOS, NextStep, OpenStep, MacOS/X Server, DOS, and Macintosh. It can optionally use OpenGL (Windows, GNU/Linux, Mac, OS/2, BeOS), Allegro (GNU/Linux, DOS), X11 (Unix or GNU/Linux) and SVGALIB (GNU/Linux). It can also optionally use assembler routines using NASM and MMX. A Direct3D8 driver is currently in development. So what is this then have someone tried out the code? Here are some screen shoots taken from http://crystal.sourceforge.net/ home page:
Follwoing can be read within the CrystalSpace home page regarding OS2: Written by Andrew Zabolotny, Andrew Zabolotny. This section contains configuration, compilation, and installation instructions for the OS/2 port of Crystal Space, which was created, and is maintained by Andrew Zabolotny (bit@eltech.ru). Details of the internals of the OS/2 port are also available, 8.1.2 OS/2 Currently Crystal Space compiles under OS/2 only with GNU C/C++ compiler. Theoretically it can be done with VisualAge and Watcom compilers (almost) as well, but you will have to do it all yourself. Besides, currently assembler optimizations are available only for GNU C/C++ compiler (they uses GAS syntax) so most likely you anyway will want to use GCC. Also you may consider using Pentium-optimizing GCC (PGCC) instead of simple GCC which can be found at http://goof.com/pcg/os2. Also you need the EMX package; you need at least EMX tools (like `emximp'), include files and C libraries. Crystal Space provides support for MMX instructions; GAS 2.6 which is shipped with as-of-today-latest EMX 0.9c does not; so you will need GAS 2.8.1 or later compiled for OS/2. You can find a pre-compiled binary on the above web page. Also you will need GNU `make' (you should have it already if you're using GCC). You will also need GNU `sed' if you want to make dependency files (you can get Crystal Space up and running without them as well, but you will want them if you're going to make changes to source code). You also will need a Unix-like shell (for example, `bash') for this since `cmd.exe' locks up with long command lines (Crystal Space sometimes generates 1K and even more!) and redirection. You will need to use this shell only when building dependencies. You will need a Resource Compiler (which is bundled with the OS/2 itself, during installation you should click the `Development tools' checkbox or so). Also it is available in OS/2 Toolkit. OS/2 makefile allows both Unix-like shells and OS/2's standard `cmd.exe' to be used. By default it is configured for cmd.exe since it is faster. You can switch shells by changing the `SHELL=' line in `makefile.os2'. You also will need IBM OS/2 Toolkit for DIVE headers. Theoretically it can be made with DIVE headers for EMX which can be found on several sites. You will also require `zlib' (de/compression library), `pnglib' (if you're going to work with PNG files), and `libjpeg' (if you're going to use JPEG format). PNG and JPG support are optional, but highly recommended. See section 2.3 External Libraries. So it is pure only for hardcore developers. Okey, anyone tried to use this lib? /Kim |