1- ![ Imgur] ( https://i.imgur.com/tLicIC9.png )
2-
3- # 3D CPU Engine
4- [ ![ Build Status] ( https://travis-ci.org/GeekyMoose/3d-cpu-engine.svg?branch=master )] ( https://travis-ci.org/GeekyMoose/3d-cpu-engine )
5-
6- | master | dev |
7- | :-----: | :-----: |
8- | [ ![ Build Status] ( https://travis-ci.org/GeekyMoose/3d-cpu-engine.svg?branch=master )] ( https://travis-ci.org/GeekyMoose/3d-cpu-engine ) | [ ![ Build Status] ( https://travis-ci.org/GeekyMoose/3d-cpu-engine.svg?branch=dev )] ( https://travis-ci.org/GeekyMoose/3d-cpu-engine ) |
1+ ![ 3d-cpu-engine-screenshot] ( screenshots/monkey-screenshot05.png )
92
103
11-
12- ## Description
13- This is a simple 3D Rendering Engine using CPU for learning purpose.
14- The main goal of this project is to understand low-level components of 3D engine.
15- For that reason, I use few libraries and try to re-implements everything such
16- as math library and drawing algorithms.
4+ # 3D CPU Engine
5+ My very first 3D engine!
6+ This is a simple 3D rendering engine using CPU (no GPU), for learning purpose.
7+ The main goal of this project was to understand the low-level components of
8+ a 3D engine (e.g., rendering pipeline, drawing algorithm, maths for 3D, rendering loop), as well as learning the C++ language.
9+ Therefore, I used few libraries and tried to re-implements everything,
10+ such as math library and drawing algorithms.
1711
1812
19- ## Features
13+ # Features
2014- Math library
2115 - Vectors 2
2216 - Vectors 3
@@ -40,29 +34,27 @@ as math library and drawing algorithms.
4034 - Scanline Algorithm with z-buffering
4135 - Scanline Algorithm with z-buffering and Flat-Shading
4236 - Scanline Algorithm with z-buffering and Gouraud Shading
43- - Render Engine
44- - Render loaded meshes (By default, render Suzanne monkey)
37+ - Render engine
38+ - Render loaded meshes (by default, renders Suzanne monkey)
4539 - Zoom in / out
46- - SSE4.1 optimization (Used by math library)
40+ - SSE4.1 optimization (used by the math library)
4741
4842
49- ## Requirements
50- - C++11
51- - ` pragma once ` support
52-
53-
54- ## Dependencies
43+ # Dependencies
5544> Dependencies marked with * (CMake)* are automatically downloaded by CMake
56- > script and placed in * bin * folder.
57- > Others must be installed manually (Generally system-wide install).
45+ > and placed in the * dependencies * folder.
46+ > The Others must be installed manually (generally system-wide install).
5847
5948- [ SDL2] ( https://www.libsdl.org/ ) (** Must be installed system-wide** )
60- - [ Boost property tree] ( http://www.boost.org/doc/libs/1_64_0/doc/html/property_tree.html ) (** System-wide** )
61- - [ GoogleTest] ( https://github.com/google/googletest ) (CMake)
49+ - [ Boost property tree] ( http://www.boost.org/doc/libs/1_64_0/doc/html/property_tree.html ) (** Must be installed system-wide** )
50+ - [ GoogleTest] ( https://github.com/google/googletest ) (Downloaded by CMake)
51+
6252
53+ # Build instructions (Linux only)
54+ - Uses C++11
55+ - Requires ` pragma once ` support
6356
64- ## Build instructions
65- ### Build and run engine (CMake)
57+ ## Build and run engine (CMake)
6658``` bash
6759# Manual instructions
6860mkdir build
@@ -75,7 +67,7 @@ make runEngine
7567./build.sh
7668```
7769
78- ### Build and run tests (CMake)
70+ ## Build and run tests (CMake)
7971``` bash
8072mkdir build
8173cd build
@@ -88,19 +80,21 @@ make runAllTests
8880```
8981
9082
91- ## Work in progress
92- As you may see, Gnu and Panda are working really hard on this project!
93- Sometime, they even forget to eat the bamboo.
94- (At least Panda, because Gnu probably prefers the emacs source code).
83+ # Hard work
84+ As you may see, Gnu and Panda have been working really hard on this project!
85+ Sometime, they even forgot to eat the bamboo.
86+ (At least Panda, Gnu probably prefers the emacs source code).
87+
88+ ![ 3d-cpu-engine-screenshot] ( screenshots/pandaworking.png )
89+
9590
96- ![ Imgur] ( http://i.imgur.com/TYmfaEw.jpg )
91+ # Screenshots
92+ ![ 3d-cpu-engine-screenshot] ( screenshots/monkey-screenshot04.png )
93+ ![ 3d-cpu-engine-screenshot] ( screenshots/monkey-screenshot05.png )
94+ ![ 3d-cpu-engine-screenshot] ( screenshots/monkey-screenshot01.png )
9795
9896
99- ## Screenshots
100- ![ Imgur] ( http://i.imgur.com/hMiDdnz.png )
101- ![ Imgur] ( http://i.imgur.com/OS8aK45.png )
102- ![ Imgur] ( http://i.imgur.com/794m2up.png )
97+ # Author
98+ Constantin Masson (geekymoose)
10399
104100
105- ## Author
106- Constantin Masson ([ constantinmasson.com] ( http://constantinmasson.com/ ) )
0 commit comments