that segfaulted

This commit is contained in:
Benjamin Kyd
2023-10-16 14:51:27 +01:00
parent dc946e77f2
commit 1176f320b8
3 changed files with 37 additions and 44 deletions

View File

@@ -42,7 +42,7 @@ InfernoApp* inferno_create()
basicMaterial->setGlShader(basicShader); basicMaterial->setGlShader(basicShader);
scene::Mesh* mesh = new scene::Mesh; scene::Mesh* mesh = new scene::Mesh;
mesh->loadOBJ("res/cornell-box.obj"); mesh->loadOBJ("res/lucy.obj");
mesh->ready(); mesh->ready();
mesh->setMaterial(basicMaterial); mesh->setMaterial(basicMaterial);
@@ -178,6 +178,26 @@ int inferno_run(InfernoApp* app)
ImGui::EndMenuBar(); ImGui::EndMenuBar();
} }
if (showRenderSettings && ImGui::Begin("Inferno HART")) {
if (ImGui::TreeNode("Camera")) {
graphics::Camera* camera = scene::scene_get_camera(app->Scene);
graphics::camera_draw_ui(camera);
ImGui::TreePop();
}
if (ImGui::TreeNode("Preview Render")) {
ImGui::Checkbox("Show Preview", &showPreview);
graphics::preview_draw_ui(app->PreviewRenderer);
ImGui::TreePop();
}
if (ImGui::TreeNode("RayTraced Render")) {
ImGui::Text("Lol");
graphics::rayr_draw_ui(app->RayRenderer);
ImGui::TreePop();
}
ImGui::End();
}
if (showPreview && ImGui::Begin("Preview", nullptr, ImGuiWindowFlags_NoScrollbar)) { if (showPreview && ImGui::Begin("Preview", nullptr, ImGuiWindowFlags_NoScrollbar)) {
if (ImGui::IsWindowHovered()) { if (ImGui::IsWindowHovered()) {
inferno_move_input(app); inferno_move_input(app);
@@ -200,27 +220,8 @@ int inferno_run(InfernoApp* app)
ImGui::End(); ImGui::End();
} }
if (showRenderSettings && ImGui::Begin("Inferno HART")) {
if (ImGui::TreeNode("Camera")) {
graphics::Camera* camera = scene::scene_get_camera(app->Scene);
graphics::camera_draw_ui(camera);
ImGui::TreePop();
}
if (ImGui::TreeNode("Preview Render")) {
ImGui::Checkbox("Show Preview", &showPreview);
ImGui::TreePop();
}
if (ImGui::TreeNode("RayTraced Render")) {
ImGui::Text("Lol");
graphics::rayr_draw_ui(app->RayRenderer);
ImGui::TreePop();
}
ImGui::End();
}
if (ImGui::Begin("Render")) { if (ImGui::Begin("Render")) {
graphics::rayr_draw(app->RayRenderer);
ImGui::End(); ImGui::End();
} }

View File

@@ -97,28 +97,20 @@ void rayr_prepare(RayRenderer*& renderer)
} }
} }
// void rayr_draw(RayRenderer*& renderer) void rayr_draw(RayRenderer* renderer)
// { {
// scene::scene_frame_tick(renderer->Scene); scene::scene_frame_tick(renderer->Scene);
// // TODO: Rays should definately be bump allocated if possible, this is KBs of // TODO: Rays should definately be bump allocated if possible, this is KBs of
// // ray data and nothing else being reallocated every frame for no reason // ray data and nothing else being reallocated every frame for no reason
// // ReferencedRayField startRays = mRaySource->getInitialRays(true); // ReferencedRayField startRays = mRaySource->getInitialRays(true);
//
// for (int x = 0; x < mRenderTargetSize.x; x++) for (int x = 0; x < renderer->Viewport->x; x++)
// for (int y = 0; y < mRenderTargetSize.y; y++) { for (int y = 0; y < renderer->Viewport->y; y++)
// mTarget[y * mRenderTargetSize.x + x] = { 0.1f, 0.1f, 0.1f, 1.0f }; renderer->RenderData[y * renderer->Viewport->x + x] = { 0.1f, 0.1f, 0.1f, 1.0f };
// }
// mCurrentRefTable = &startRays.Reference; // before we start we now want to check that it hasn't been force-stopped
// yolo::info("Sample complete");
// // before we start we now want to check that it hasn't been force-stopped }
// mIface->startTrace(startRays.Field);
//
// yolo::info("Sample complete");
//
// for (auto* ray : startRays.Field) {
// delete ray;
// }
// }
// //
// void RayRenderer::computeHit(HitInfo* info) // void RayRenderer::computeHit(HitInfo* info)
// { // {

View File

@@ -42,7 +42,7 @@ void rayr_set_viewport(RayRenderer* renderer, glm::ivec2 size);
GLuint rayr_get_rendered_texture(RayRenderer* renderer); GLuint rayr_get_rendered_texture(RayRenderer* renderer);
glm::fvec4* rayr_get_render_data(RayRenderer* renderer); glm::fvec4* rayr_get_render_data(RayRenderer* renderer);
void rayr_draw(RayRenderer* renderer, scene::Scene* scene); void rayr_draw(RayRenderer* renderer);
void raryr_compute_hit(HitInfo* info); void raryr_compute_hit(HitInfo* info);