The MIT License
The author of this project is Grigore Enescu Madalin.
The GEM 3D engine is released under the
The GEM 3D engine is OS independent. Only Windows and Linux platforms are now supported but Solaris, FreeBSD and
MacOS will be suported in the next versions.
The GEM 3D engine is written in C++. Windows MSVC++ 6, Visual C++ Toolkit 2003, MinGW and Linux gcc are the only compillers officially supported but
you should be able to compile with any other decent C++ compiller availlable on Windows or Linux platform.
The GEM 3D is based on OpenGL and OpenAL. On Windows and MacOS platform we are using the OpenAL implementation from Creative Labs.
The GEM 3D
engine support almost all the latest capabilities of the modern graphic cards. The GEM 3D engine is optimized for hardware multitexturing. GEM 3D engine can run only on graphic cards suporting hardware
multitexturing with at least 2 texture units.
The GEM engine is optimized both for 2D and 3D rendering.
You can use the GEM engine to draw 2D points, lines, bezier curves, circles and textured polygons at an hight speed.
You can use the GEM engine to draw any kind of 3D geometry. The GEM engine implement
visibility tests using frustum culling, bsp trees and quad trees. The GEM engine is optimized both for open scenes and indoor geometry.
The developing process of the graphical interface of your application is now a child game using the GEM GI ( GEM
graphical interface ). Throught this implementation you can create and use almost any kind of fully customized graphical control : desktops, windows, edit controls, buttons, picture buttons, radio buttons, menus,
lists, animations, lines ...
SCREEN RESOLUTIONS / WINDOW MODE / FULL SCREEN MODE
The GEM engine support any screen resolution supported by your graphic card. The GEM engine can run in any combination of 16 bits per pixel mode/32 bits per pixel mode/full
screen mode/windows mode.
The GEM engine
have support for varios image file formats. The GEM engine can read/write TGA files, BMP files, PNG files ... The GEM engine can also read and write textures in it's own file format "GEM IMAGE - *.gim"
The GEM engine is able to upload the textures in to the graphic card and make the textures residents.
The GEM engine is optimized for hardware multitexturing. The GEM engine can run only on graphic cards suporting hardware multitexturing with at
least 2 texture units.
The GEM engine
support the stencil buffer. The GEM engine use the stencil buffer to create high quality real time transparent reflections.
RENDERING TO TEXTURE
The GEM angine support rendering to texture. The content of the Back Buffer can be copyed anytime to any texture
you may provide.
The GEM engine support good olds lights maps.
The GEM engine support at least 8 dinamic lights.
A dinamic light in GEM engine have implemented a lot of options.
TEXTURED DINAMIC LIGHTS
The GEM engine support hardware textured dinamic lights.
When running on an ATI card that support bump
mapping the GEM engine will use hardware bump mapping. On the others graphic cards the GEM engine will use software bump maping.
The GEM engine support a lot of fog types from classic linear fog to high quality volumetric fog.
The GEM engine suport both 2D and 3D antialiasing.
The GEM engine support some kind of blur. It is verry slow for big scenes but it is
posible to use for little scenes or isolated actors.
The GEM engine support some kind of fake radial blur.
The GEM 3D engine is under the development. This is just the begining of a long story !