aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorladevieq <ladevie.quentin@gmail.com>2021-05-12 23:39:42 +0200
committerladevieq <ladevie.quentin@gmail.com>2021-05-12 23:41:54 +0200
commita7707f730cd28853dc750b72ec882f07dba85406 (patch)
tree4e219102ae9145bbbd42715e713f5f72a791d80f /include
parent085d4c6dd995a4da396ddf3d51b619fafb77af7b (diff)
Add light sources, use russian roulette for opti and infinite
accumulation
Diffstat (limited to 'include')
-rw-r--r--include/material.hpp2
-rw-r--r--include/utils.hpp6
2 files changed, 6 insertions, 2 deletions
diff --git a/include/material.hpp b/include/material.hpp
index 10886da..ee4281b 100644
--- a/include/material.hpp
+++ b/include/material.hpp
@@ -7,10 +7,12 @@ enum MATERIAL_TYPE: uint32_t {
LAMBERTIAN = 0,
METAL = 1,
DIELECTRIC = 2,
+ EMISSIVE = 3,
};
struct material {
color albedo;
+ color emissive;
float fuzz;
float ior;
uint32_t type;
diff --git a/include/utils.hpp b/include/utils.hpp
index 11d377a..a95c95d 100644
--- a/include/utils.hpp
+++ b/include/utils.hpp
@@ -20,19 +20,21 @@ struct input_data {
bvh_node nodes[1024];
uint32_t max_bounce;
- uint32_t samples_per_pixel;
// Output image resolution
uint32_t width;
uint32_t height;
uint32_t sample_index;
+
+ uint32_t spheres_count;
+ uint32_t padding[3];
};
std::vector<uint8_t> get_shader_code(const char* path);
std::vector<uint8_t> get_shader_code(std::string& path);
-struct input_data create_inputs(uint32_t width, uint32_t height, uint32_t samples_per_pixel);
+struct input_data create_inputs(uint32_t width, uint32_t height);
#define PI 3.14159265359