diff options
| author | ladevieq <ladevie.quentin@gmail.com> | 2021-01-06 00:34:02 +0100 |
|---|---|---|
| committer | ladevieq <ladevie.quentin@gmail.com> | 2021-01-06 00:34:02 +0100 |
| commit | 0d0ce0a318c6c26128f24574cbc63005dcd4a757 (patch) | |
| tree | a78f5cb4d9f76bbc335607ae754578eeb7ffdf91 /include/vk-renderer.hpp | |
| parent | 8c3376c49f803e1d28e76ed100d4d417394df41f (diff) | |
Customisalbe camera with focus plan
Diffstat (limited to 'include/vk-renderer.hpp')
| -rw-r--r-- | include/vk-renderer.hpp | 50 |
1 files changed, 31 insertions, 19 deletions
diff --git a/include/vk-renderer.hpp b/include/vk-renderer.hpp index 2e996c8..311b3e5 100644 --- a/include/vk-renderer.hpp +++ b/include/vk-renderer.hpp @@ -12,34 +12,46 @@ enum MATERIAL_TYPE: uint32_t { DIELECTRIC, }; +struct material { + color albedo; + float fuzz; + float ior; + uint32_t type; + uint32_t padding; +}; + +struct sphere { + vec3 position; + material mat; + float radius; + float padding[3]; +}; + struct input_data { color sky_color; color ground_color; - vec3 camera_pos; - uint32_t samples_per_pixel; - float viewport_width; - float viewport_height; - float proj_plane_distance; + struct camera { + vec3 position; + vec3 up; + vec3 right; + vec3 forward; + float viewport_width; + float viewport_height; + float lens_radius; + float focus_distance; + } cam; - float random_numbers[200]; + float random_offset[200]; + float random_disk[200]; vec3 random_in_sphere[1000]; - struct sphere { - vec3 position; - struct material { - color albedo; - float fuzz; - float ior; - uint32_t type; - uint32_t padding; - } material; - float radius; - float padding[3]; - } spheres[5]; + sphere spheres[512]; uint32_t max_bounce; - float padding[3]; + uint32_t samples_per_pixel; + + float padding[2]; }; struct path_tracer_data { |
