Skip to content

Commit

Permalink
Merge pull request #1 from sergeyreznik/dev
Browse files Browse the repository at this point in the history
Merging dev into main
  • Loading branch information
sergeyreznik authored Feb 6, 2022
2 parents bc6e157 + 203bcb6 commit 39906d6
Show file tree
Hide file tree
Showing 585 changed files with 247,710 additions and 40 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.exe
*.pdb
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")

set(root_folder ${CMAKE_CURRENT_LIST_DIR})

add_subdirectory(thirdparty)
add_subdirectory(sources)

Expand Down
14 changes: 8 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,11 @@ So now it is time for that hidden project to emerge on a surface. Releasing it a

#### Project milestones:
Order is a subject to change, but here are main things to do:
- [ ] boilerplate code for window, input handling, etc;
- [ ] basic boilerplate code for ray-tracing;
- [ ] simplest CPU path-tracer;
- [x] boilerplate code for window, input handling, etc;
- [x] basic boilerplate code for ray-tracing;
- [x] simplest CPU path-tracer;
- [ ] OptiX and GPU-related code basics;
- [ ] additional code for ray-tracing;
- [x] additional code for ray-tracing;
- [ ] VCM integrators (CPU and GPU);
- [ ] cross-platform, cross-API support;
... maintaining code, adding new features.
Expand All @@ -58,8 +58,10 @@ Order is a subject to change, but here are main things to do:
This part of the description would be updated during the development of the project, at the moment there is nothing to build here.
All updates will be located here: [BUILDING.md](docs/BUILDING.md)

#### Docs
[Code style](docs/CODESTYLE.md) - code style may confuse you. But there is an explanation for that :)
#### Sponsors
This project is GitHub-sponsored by:
* [Traverse-Research](https://github.com/Traverse-Research)
* [voxel-tracer](https://github.com/voxel-tracer)

#### Links
Links to the books/papers/publications/resources I've used during the development:
Expand Down
12 changes: 12 additions & 0 deletions bin/assets/cornellbox/cornellbox.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"geometry" : "cornellbox.obj",
"camera" : {
"viewport" : [640.0, 640.0],
"origin" : [0.0, 1.0, 5.15],
"target" : [0.0, 1.0, 0.0],
"up" : [0.0, 1.0, 0.0],
"fov" : 26.99,
"lens-radius" : 0.25,
"focal-distance" : 4.6
}
}
36 changes: 36 additions & 0 deletions bin/assets/cornellbox/cornellbox.mtl
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
newmtl et::medium
sigma_a 0.01 0.01 0.01
sigma_s 0.075 0.075 0.075
g 0.75

newmtl white
Kd 1.0 1.0 1.0

newmtl leftWall
Kd 1.0 0.0 0.0

newmtl rightWall
Kd 0.0 1.0 0.0

newmtl floor
Kd 1.0 1.0 1.0

newmtl ceiling
Kd 1.0 1.0 1.0

newmtl frontWall
Kd 1.0 1.0 1.0

newmtl shortBox
Kd 1.0 1.0 1.0
Ks 1.0 1.0 1.0
Kt 1.0 1.0 1.0

newmtl tallBox
Kd 1.0 1.0 1.0
Ks 1.0 1.0 1.0
Kt 1.0 1.0 1.0

newmtl light
Kd 1.0 1.0 1.0
Ke 4 4 4
289 changes: 289 additions & 0 deletions bin/assets/cornellbox/cornellbox.obj
Original file line number Diff line number Diff line change
@@ -0,0 +1,289 @@
# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
# File Created: 22.11.2016 00:04:47

mtllib cornellbox.mtl

#
# object ceiling_Mesh
#

v -1.00000 2.00000 -1.00000
v 1.00000 2.00000 -1.00000
v 1.00000 2.00000 1.00000
v -1.00000 2.00000 1.00000
# 4 vertices

vn 0.00000 -1.00000 -0.00000
# 1 vertex normals

vt 0.32937 0.33809 0.00000
vt 0.65319 0.33809 0.00000
vt 0.65319 0.66191 0.00000
vt 0.32937 0.66191 0.00000
# 4 texture coords

g ceiling_Mesh
usemtl ceiling
s 1
f 1/1/1 2/2/1 3/3/1
f 3/3/1 4/4/1 1/1/1
# 2 faces

#
# object floor_Mesh
#

v 1.00000 0.00000 1.00000
v 1.00000 0.00000 -1.00000
v -1.00000 0.00000 -1.00000
v -1.00000 0.00000 1.00000
# 4 vertices

vn 0.00000 1.00000 -0.00000
# 1 vertex normals

vt 0.98133 0.33809 0.00000
vt 0.98133 0.66191 0.00000
vt 0.65751 0.66191 0.00000
vt 0.65751 0.33809 0.00000
# 4 texture coords

g floor_Mesh
usemtl floor
s 1
f 5/5/2 6/6/2 7/7/2
f 7/7/2 8/8/2 5/5/2
# 2 faces

#
# object frontWall_Mesh
#

v 1.00000 0.00000 -1.00000
v 1.00000 2.00000 -1.00000
v -1.00000 2.00000 -1.00000
v -1.00000 0.00000 -1.00000
# 4 vertices

vn 0.00000 0.00000 1.00000
# 1 vertex normals

vt 0.65319 0.66623 0.00000
vt 0.65319 0.99005 0.00000
vt 0.32937 0.99005 0.00000
vt 0.32937 0.66623 0.00000
# 4 texture coords

g frontWall_Mesh
usemtl frontWall
s 1
f 9/9/3 10/10/3 11/11/3
f 11/11/3 12/12/3 9/9/3
# 2 faces

#
# object leftWall_Mesh
#

v -1.00000 0.00000 -1.00000
v -1.00000 2.00000 -1.00000
v -1.00000 2.00000 1.00000
v -1.00000 0.00000 1.00000
# 4 vertices

vn 1.00000 0.00000 -0.00000
# 1 vertex normals

vt 0.98133 0.00995 0.00000
vt 0.98133 0.33377 0.00000
vt 0.65751 0.33377 0.00000
vt 0.65751 0.00995 0.00000
# 4 texture coords

g leftWall_Mesh
usemtl leftWall
s 1
f 13/13/4 14/14/4 15/15/4
f 15/15/4 16/16/4 13/13/4
# 2 faces

#
# object light_Mesh
#

v -0.24000 1.99900 -0.22000
v 0.23000 1.99900 -0.22000
v 0.23000 1.99900 0.22000
v -0.24000 1.99900 0.22000
# 4 vertices

vn 0.00000 -1.00000 -0.00000
# 1 vertex normals

vt 0.65751 0.66623 0.00000
vt 0.73361 0.66623 0.00000
vt 0.73361 0.72776 0.00000
vt 0.65751 0.72776 0.00000
# 4 texture coords

g light_Mesh
usemtl light
s 1
f 17/17/5 18/18/5 19/19/5
f 19/19/5 20/20/5 17/17/5
# 2 faces

#
# object rightWall_Mesh
#

v 1.00000 0.00000 1.00000
v 1.00000 2.00000 1.00000
v 1.00000 2.00000 -1.00000
v 1.00000 0.00000 -1.00000
# 4 vertices

vn -1.00000 0.00000 -0.00000
# 1 vertex normals

vt 0.65319 0.00995 0.00000
vt 0.65319 0.33377 0.00000
vt 0.32937 0.33377 0.00000
vt 0.32937 0.00995 0.00000
# 4 texture coords

g rightWall_Mesh
usemtl rightWall
s 1
f 21/21/6 22/22/6 23/23/6
f 23/23/6 24/24/6 21/21/6
# 2 faces

#
# object shortBox_Mesh
#

v 0.70000 0.60000 0.17000
v 0.13000 0.60000 -0.00000
v -0.05000 0.60000 0.57000
v 0.53000 0.60000 0.75000
v 0.13000 0.00000 -0.00000
v -0.05000 0.00000 0.57000
v 0.53000 0.00000 0.75000
v 0.70000 0.00000 0.17000
# 8 vertices

vn 0.00000 1.00000 -0.00000
vn -0.95358 0.00000 -0.30113
vn -0.29640 0.00000 0.95506
vn 0.95963 0.00000 0.28127
vn 0.28580 0.00000 -0.95829
# 5 vertex normals

vt 0.13138 0.63182 0.00000
vt 0.03909 0.65935 0.00000
vt 0.00995 0.56706 0.00000
vt 0.10386 0.53791 0.00000
vt 0.32262 0.71129 0.00000
vt 0.22811 0.71129 0.00000
vt 0.22811 0.61181 0.00000
vt 0.32262 0.61181 0.00000
vt 0.22928 0.61136 0.00000
vt 0.13319 0.61136 0.00000
vt 0.13319 0.51196 0.00000
vt 0.22928 0.51196 0.00000
vt 0.22916 0.51136 0.00000
vt 0.13330 0.51136 0.00000
vt 0.13330 0.41219 0.00000
vt 0.22916 0.41219 0.00000
vt 0.22755 0.71117 0.00000
vt 0.13327 0.71117 0.00000
vt 0.13327 0.61193 0.00000
vt 0.22755 0.61193 0.00000
vt 0.13138 0.50729 0.00000
vt 0.03909 0.53481 0.00000
vt 0.00995 0.44253 0.00000
vt 0.10386 0.41338 0.00000
# 24 texture coords

g shortBox_Mesh
usemtl shortBox
s 1
f 25/25/7 26/26/7 27/27/7
f 27/27/7 28/28/7 25/25/7
f 27/29/8 26/30/8 29/31/8
f 29/31/8 30/32/8 27/29/8
f 28/33/9 27/34/9 30/35/9
f 30/35/9 31/36/9 28/33/9
f 25/37/10 28/38/10 31/39/10
f 31/39/10 32/40/10 25/37/10
f 26/41/11 25/42/11 32/43/11
f 32/43/11 29/44/11 26/41/11
f 32/45/7 29/46/7 30/47/7
f 30/47/7 31/48/7 32/45/7
# 12 faces

#
# object tallBox_Mesh
#

v 0.04000 1.20000 -0.09000
v -0.14000 1.20000 -0.67000
v -0.71000 1.20000 -0.49000
v -0.53000 1.20000 0.09000
v -0.71000 0.00000 -0.49000
v -0.53000 0.00000 0.09000
v -0.14000 0.00000 -0.67000
v 0.04000 0.00000 -0.09000
# 8 vertices

vn 0.00000 1.00000 -0.00000
vn -0.95506 0.00000 0.29640
vn -0.30113 0.00000 -0.95358
vn 0.95506 0.00000 -0.29640
vn 0.30113 0.00000 0.95358
# 5 vertex normals

vt 0.32504 0.16747 0.00000
vt 0.29590 0.26138 0.00000
vt 0.20361 0.23224 0.00000
vt 0.23276 0.13833 0.00000
vt 0.10604 0.20884 0.00000
vt 0.00995 0.20884 0.00000
vt 0.00995 0.01003 0.00000
vt 0.10604 0.01003 0.00000
vt 0.20143 0.40787 0.00000
vt 0.10692 0.40787 0.00000
vt 0.10692 0.20890 0.00000
vt 0.20143 0.20890 0.00000
vt 0.10604 0.40779 0.00000
vt 0.00995 0.40779 0.00000
vt 0.00995 0.20898 0.00000
vt 0.10604 0.20898 0.00000
vt 0.20143 0.20891 0.00000
vt 0.10692 0.20891 0.00000
vt 0.10692 0.00995 0.00000
vt 0.20143 0.00995 0.00000
vt 0.32504 0.04087 0.00000
vt 0.29590 0.13478 0.00000
vt 0.20361 0.10564 0.00000
vt 0.23276 0.01173 0.00000
# 24 texture coords

g tallBox_Mesh
usemtl tallBox
s 1
f 33/49/12 34/50/12 35/51/12
f 35/51/12 36/52/12 33/49/12
f 36/53/13 35/54/13 37/55/13
f 37/55/13 38/56/13 36/53/13
f 35/57/14 34/58/14 39/59/14
f 39/59/14 37/60/14 35/57/14
f 34/61/15 33/62/15 40/63/15
f 40/63/15 39/64/15 34/61/15
f 33/65/16 36/66/16 38/67/16
f 38/67/16 40/68/16 33/65/16
f 40/69/12 39/70/12 37/71/12
f 37/71/12 38/72/12 40/69/12
# 12 faces

Binary file added bin/assets/hdri/environment.exr
Binary file not shown.
Loading

0 comments on commit 39906d6

Please sign in to comment.