Skip to content

Commit 59febbf

Browse files
authored
Merge pull request #28 from mbienkowsk/update-readme
chore: update README
2 parents 5c5c4a2 + abfed66 commit 59febbf

1 file changed

Lines changed: 31 additions & 18 deletions

File tree

README.md

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,39 @@
1-
[Architecture docs](/docs/architecture.md)
1+
# L-System Plant Generator
22

3-
### Running
3+
Generating and rendering 3D fractal plants using L-systems using OpenGL.
4+
5+
## Features
6+
* Loading fractal base geometry from .obj files
7+
* Loading floor model geometry and material from .obj and .mtl files
8+
* Selection of fractal base models
9+
* Selection of predefined L-systems for plant generation
10+
* Custom L-system input via GUI
11+
* Phong, Gouraud or Flat shading selectable via GUI
12+
* Perspective camera with keyboard and mouse controls
13+
* Randomized placement of plants in a defined area
14+
* Interpolating plant color based on height
15+
16+
## Authors
17+
* Mikołaj Garbowski
18+
* Maksym Bieńkowski
19+
* Jędrzej Grabski
20+
21+
## Installation
22+
* Install [Rust](https://rust-lang.org/tools/install/)
23+
* Install [Just](https://github.com/casey/just) for running utility scripts
24+
25+
## Running
426
Clone, `just run`. Check out `just -l` for recipes.
527

6-
### Controls
28+
## Controls
729
* Move using WASD/HJKL
830
* Space to move up, z to move down
931
* Mouse to look around
1032
* Press `Esc` to enter menu
1133

12-
## Specification
13-
14-
W ramach projektu należy stworzyć program, który będzie umożliwiał two-
15-
rzenie roślin z wykorzystaniem L-systemów.
16-
W tym celu należy zaimplementować:
17-
1. [x] wsparcie dla podstawowego typu plików wejściowych z modelem 3D: obj
18-
- ewentualna baza dla rośliny i podłoże
19-
2. [x] cieniowanie Phonga
20-
3. interpretację właściwości materiału: diffuse
21-
4. [x] kamerę perspektywiczną - możliwość poruszania się po scenie oraz obrotu
22-
5. możliwość generacji roślin:
23-
- możliwość wyboru 3 różnych predefiniowanych roślin
24-
- możliwość podania swoich zasad generacji
25-
- rozsiewanie modeli w zadanym obszarze - należy pamiętać, o transformacjach, żeby roślinność nie wyglądała zbyt sztucznie
26-
6. zmienny kolor rośliny w zależności od jej wysokości
34+
35+
## References
36+
* [L-System - Wikipedia](https://en.wikipedia.org/wiki/L-system)
37+
* The Algorithmic Beauty of Plants, P. Prusinkiewicz, A. Lindenmayer
38+
* Real-Time Rendering 4th Edition, T. Akenine-Möller, E. Haines, N. Hoffman, A. Pesce, M. Iwanicki, S. Hillaire
39+
* [Learn OpenGL](https://learnopengl.com/)

0 commit comments

Comments
 (0)