From 3f6d9a3a75e2615866f8ed2cd0015fabea6490b7 Mon Sep 17 00:00:00 2001 From: ladevieq Date: Mon, 6 Sep 2021 22:55:51 +0200 Subject: Load gltf materials + diffuse and specular brdf --- src/main.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index c47aaeb..287b0eb 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -60,17 +60,23 @@ int main() { auto aperture = 0.1; auto focus_distance = 10; auto cam = camera(position, target, v_fov, (float)width / (float)height, aperture, focus_distance); - auto main_scene = scene(cam, width, height); - auto can_render = true; - vkrenderer renderer { wnd, sizeof(main_scene.meta), sizeof(main_scene.triangles[0]) * main_scene.triangles.size(), sizeof(main_scene.packed_nodes[0]) * main_scene.packed_nodes.size() }; + + vkrenderer renderer { wnd }; + auto main_scene = scene(cam, width, height, renderer); // vkrenderer renderer { wnd, sizeof(main_scene.meta), sizeof(main_scene.spheres[0]) * main_scene.spheres.size(), sizeof(main_scene.packed_nodes[0]) * main_scene.packed_nodes.size() }; + renderer.create_scene_buffer(sizeof(main_scene.meta)); + renderer.create_geometry_buffer(sizeof(main_scene.triangles[0]) * main_scene.triangles.size()); + renderer.create_bvh_buffer(sizeof(main_scene.packed_nodes[0]) * main_scene.packed_nodes.size()); + // Upload scene content std::memcpy(renderer.scene_buffer_ptr(), &main_scene.meta, sizeof(main_scene.meta)); renderer.update_geometry_buffer(main_scene.triangles.data()); // renderer.update_geometry_buffer(main_scene.spheres.data()); renderer.update_bvh_buffer(main_scene.packed_nodes.data()); + auto can_render = true; + ImGuiIO& io = ImGui::GetIO(); io.DisplaySize.x = (float)width; io.DisplaySize.y = (float)height; -- cgit v1.3