diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 96 |
1 files changed, 48 insertions, 48 deletions
@@ -1,48 +1,48 @@ | |||
1 | Spear | 1 | Spear |
2 | ===== | 2 | ===== |
3 | 3 | ||
4 | Spear is a simple 2.5D game engine I have been working on since I started learning Haskell. | 4 | Spear is a simple 2.5D game engine I have been working on since I started learning Haskell. |
5 | The project's goal is to put what I learn into practise, to explore how far I can get with Haskell and if the results | 5 | The project's goal is to put what I learn into practise, to explore how far I can get with Haskell and if the results |
6 | are decent enough, to build one or two game demos along the way. | 6 | are decent enough, to build one or two game demos along the way. |
7 | 7 | ||
8 | Installation | 8 | Installation |
9 | ------------ | 9 | ------------ |
10 | 10 | ||
11 | Simply clone the repo and build with cabal: | 11 | Simply clone the repo and build with cabal: |
12 | 12 | ||
13 | ``` | 13 | ``` |
14 | $ git clone https://github.com/jeannekamikaze/Spear.git | 14 | $ git clone https://github.com/jeannekamikaze/Spear.git |
15 | $ cd Spear | 15 | $ cd Spear |
16 | $ cabal install | 16 | $ cabal install |
17 | ``` | 17 | ``` |
18 | 18 | ||
19 | Features | 19 | Features |
20 | -------- | 20 | -------- |
21 | 21 | ||
22 | ### Application and Input | 22 | ### Application and Input |
23 | * Easy way to set up a window with the desired OpenGL context version. | 23 | * Easy way to set up a window with the desired OpenGL context version. |
24 | * Raw polled, toggled and delayed input. | 24 | * Raw polled, toggled and delayed input. |
25 | * High resolution timer. | 25 | * High resolution timer. |
26 | 26 | ||
27 | ### Assets | 27 | ### Assets |
28 | * MD2 and OBJ model loaders. | 28 | * MD2 and OBJ model loaders. |
29 | * BMP image loader. | 29 | * BMP image loader. |
30 | * Assets backed up by Resource for automatic (and optionally, manual) deletion. | 30 | * Assets backed up by Resource for automatic (and optionally, manual) deletion. |
31 | 31 | ||
32 | ### Collision | 32 | ### Collision |
33 | * Simple collision library featuring AABBs and bounding circles. | 33 | * Simple collision library featuring AABBs and bounding circles. |
34 | 34 | ||
35 | ### OpenGL | 35 | ### OpenGL |
36 | * OpenGL >=3 wrapper library. | 36 | * OpenGL >=3 wrapper library. |
37 | * OpenGL resources (VAOs, buffers, textures, etc.) backed up by Resource for automatic (and optionally, manual) deletion. | 37 | * OpenGL resources (VAOs, buffers, textures, etc.) backed up by Resource for automatic (and optionally, manual) deletion. |
38 | 38 | ||
39 | ### Math | 39 | ### Math |
40 | * Vectors, matrices, quaternions, cameras, segments, rays, etc. | 40 | * Vectors, matrices, quaternions, cameras, segments, rays, etc. |
41 | * The Spatial2 and Spatial3 type classes for objects that can be moved around in 2D and 3D space, respectively. | 41 | * The Spatial2 and Spatial3 type classes for objects that can be moved around in 2D and 3D space, respectively. |
42 | 42 | ||
43 | ### Render | 43 | ### Render |
44 | * Static and vertex-animated model resources, compiled into a VAO for efficient rendering. | 44 | * Static and vertex-animated model resources, compiled into a VAO for efficient rendering. |
45 | * Static and vertex-animated model renderers. Vertex animation is done in a vertex shader. | 45 | * Static and vertex-animated model renderers. Vertex animation is done in a vertex shader. |
46 | 46 | ||
47 | ### Scene | 47 | ### Scene |
48 | * Automated loading of scenes and scene resources as described by scene files. | 48 | * Automated loading of scenes and scene resources as described by scene files. |