GENERAL DESCRIPTION

An Open-Source (GNU LGPL) 3d graphics API for Game/Visualization Development. 

U3D is NOT a game, it is a library that can be used in order to create a 3d game or any other

3D application. It contains high-level C++ classes in order the programmer to handle 3d objects, sounds, Input/Output and many more (see Features below).

U3D is going to be small, so it is easily downloadable. 

Goals:

    - Small, Portable, Fast

    - C++ Class-based API

    - OpenGL hardware accelerated

    - Support for most popular platforms (Linux, BeOS, Unix, Win32, MacOS)

Requirements:

    - SDL lib from http://www.libsdl.org

    - Mesa3D from http://www.mesa3d.org or any other OpenGL driver

    - A C++ compiler, like EGCS (linux) or Visual C++ (win32)

    U3D should work on any platform the above libraries support.

FEATURES - ALREADY DONE

    - Basic classes (vertices, triangles, lists, groups) and Optimizations

    - Quake-style (6DOF) Camera

    - Materials/Textures (BMP, TGA... ) with ability to change quality on the fly.

    - .ASE (3DSMAX), .BMF (View3DS) file reader

    - Dynamic/Static Object Transformations

    - Fast View Frustum Culling with Hierachical Bounding Boxes

    - 2D Text

    - Self Generated Dynamic Level-Of-Detail

    - Gouraud (per Vertex) Global and Local Lighting

    - Octree Scene Partitioning Scene management

    - Pseudo 3D and Global SOUND Sources 

    - Collision Detection through Hierachical Bounding Boxes

    - Mouse and Keyboard Event Handlers

    - Linear FOG

    - OpenGL Dynamic Lighting

    - Transparency

    - Multithreading

    - Real Time Shadows

    - Simple GUI

    - Vertex Arrays

    - Multitexturing (can be used for Static Lightmap support)

    - Cube Environment Mapping through GL_EXTENSIONS

    - Support for T&L GPUs (Nvidia Geforce series.....)

    - Dynamically load OPENGL LIBRARY

    - Quaternion Rotations

    - Billboard

    - Particle System

    - Basic Networking Classes ( currently Linux only)

    - .u3d file format with streaming capabilities

    - Per vertex raytracing

FEATURES - WISH LIST

    - .3DS/.OBJ Loader

    - Real 3D Sound through OpenAL

    - Reflections

    - Bezier Curves

    - Bump Mapping

    - Occlusion Culling

    - Utility Classes (for terrain generation..... and other)