lib/gamnit: intro gamnit depth
[nit.git] / lib / gamnit / REAME.md
1 Portable game and multimedia framework for Nit
2
3 This framework is based on the portability framework _app.nit_ and the OpenGL ES 2.0 standard.
4
5 It is modular, different parts of the framework are available through different entry points:
6
7 * `gamnit` provides low-level abstractions over some services of OpenGL ES 2.0, like textures, shaders and programs.
8   It defines the basic methods to implement in order to obtain a working game: `App::frame_core` to update the screen
9   and `App::accept_event` to receive user inputs.
10
11 * `flat` provides an easy to use API for 2D games based on sprites.
12   Clients of this API must redefine `App::update` to update the game logic and fill `App::sprites` with objects to draw.
13
14 * `depth` defines an API for 3D games.
15   It is based on a list of `actors`, with `Model` composed of `Mesh` and `Material`.
16
17 * `cameras` provides cameras classes to produce MVP matrices which can be fed to shaders.
18
19 * `limit_fps` redefines existing services of gamnit to limit the framerate to a client-defined value.
20
21 * `network` provides a simple communication framework for multiplayer client/server games.