Skip to content

Commit eb46612

Browse files
authored
Added line breaks to README
1 parent 5ed930d commit eb46612

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
![Screenshot 2](https://github.com/AivanF/own-3d-engine/blob/master/Screenshot2.jpeg?raw=true)
55

66
## 1. Functionality
7+
78
- Simple 3D engines with planty of models (may be generated programmatically or loaded from files) and scene objects (they have their own properties such as position and rotation).
89
- Transform matrices with homogeneous coordinates: shifting, scaling, rotationg, perspective.
910
- Pruning of invisible edges with Roberts algorithm.
@@ -13,6 +14,7 @@
1314
- Many helpful math (generating of transform matrices, matrices and vectors multiplication, dot production, normals, and reflected vectors calculations) and other functions.
1415

1516
## 2. Control
17+
1618
- Left/right arrow — scene rotating.
1719
- Z/X keys — scene scaling.
1820
- Q/E keys — change light intensity.
@@ -35,6 +37,7 @@ Programming language: C++. IDE: Qt Creator. Rendering created with standard faci
3537
- `helper` — Some helpful math and other functions.
3638

3739
## 4. Interesting points
40+
3841
- During generation of dodecahedron initially pentagonal edges are created, which then are being splitted into 3 triangles.
3942
- Sphere model is creating through recursive "inflation" of tetrahedron. Recursion depth is under control: depth 0 gives 12 verticies and 20 edges (usual tetrahedron), depth 1 — 42 verticies and 80 edges, depth 2 — 222 verticies and 320 edges.
4043
- "Garlic" model was created from sphere transforming all the verticies this way: if Y greater than 0, than Y is increasing; if X or Z are close to 0, than other coordinate if decreasing. File `data.cpp`, function `createGarlic()`.
@@ -44,13 +47,15 @@ Programming language: C++. IDE: Qt Creator. Rendering created with standard faci
4447
- To reduce rendering time when using Z-buffer and light shading, picture dimensions are divided by 2.
4548

4649
## 5. Structure of model file
50+
4751
The model files consist of 2 kinds of lines:
4852
- Vertex description: `0 x y z` where x,y and z are float numbers.
4953
- Triangle description: `1 a b c` where a, b and c are vertex indices.
5054

5155
Lines of different kinds may be passed in any order, only relative order of vertices must be the same to keep their indices.
5256

5357
## 6. References
58+
5459
- [Stack Overflow: perspective projection](https://gamedev.stackexchange.com/a/106349)
5560
- [Wolfram MathWorld: Triangle Interior](http://mathworld.wolfram.com/TriangleInterior.html)
5661
- [Paul Bourke: Platonic Solids](http://paulbourke.net/geometry/platonic/)
@@ -59,8 +64,10 @@ Lines of different kinds may be passed in any order, only relative order of vert
5964
- [Wikipedia: Normal](https://en.wikipedia.org/wiki/Normal_(geometry))
6065

6166
## 7. License
62-
Copyright Barashev Ivan 2017 - All Rights Reserved
67+
68+
Copyright Barashev Ivan 2017 - All Rights Reserved
6369
Website: www.aivanf.com
70+
6471
This is proprietary software. Unauthorized commercial use of this code via any medium is strictly prohibited.
6572
When use the code, you must give appropriate credit, provide a link to this license, and indicate if changes were made.
6673
The work is provided "as is". You may not hold the author liable.

0 commit comments

Comments
 (0)