when you pass a null ptr, the ptr is null?! who'd a thought

This commit is contained in:
Ben Kyd
2023-10-14 13:36:34 +01:00
parent 3dcea96b94
commit 6d80f1e4e2
3 changed files with 28 additions and 20 deletions

View File

@@ -25,7 +25,8 @@ elseif (APPLE)
target_compile_options(inferno PRIVATE -O1) target_compile_options(inferno PRIVATE -O1)
endif() endif()
else() else()
target_compile_options(inferno PRIVATE -std=c++17) target_compile_options(inferno PRIVATE -std=c++20)
target_compile_options(inferno PRIVATE -m64)
if (CMAKE_BUILD_TYPE MATCHES "Debug") if (CMAKE_BUILD_TYPE MATCHES "Debug")
target_compile_options(inferno PRIVATE -O1) target_compile_options(inferno PRIVATE -O1)
target_compile_options(inferno PRIVATE -Wall) target_compile_options(inferno PRIVATE -Wall)

View File

@@ -33,24 +33,25 @@ InfernoApp* inferno_create()
// Create window // Create window
graphics::window_create("Inferno v" INFERNO_VERSION, 1280, 720); graphics::window_create("Inferno v" INFERNO_VERSION, 1280, 720);
// // setup the scene // setup the scene
// scene::Material basicMaterial("basic"); scene::Material basicMaterial("basic");
// graphics::Shader* basicShader = graphics::shader_create();
// graphics::Shader* basicShader = graphics::shader_create(); graphics::shader_load(basicShader, "res/shaders/basic.glsl");
// graphics::shader_load(basicShader, "res/shaders/basic.glsl"); graphics::shader_link(basicShader);
// graphics::shader_link(basicShader);
// app->Scene = scene::scene_create();
// scene::SceneObject* object = scene::scene_object_create(); scene::SceneObject* object = scene::scene_object_create();
//
// scene::Mesh cornell; scene::Mesh cornell;
// cornell.loadOBJ("res/cornell-box.obj"); cornell.loadOBJ("res/cornell-box.obj");
// // cornell.loadOBJ("res/sponza.obj"); // cornell.loadOBJ("res/sponza.obj");
// cornell.ready(); cornell.ready();
// cornell.setMaterial(&basicMaterial); cornell.setMaterial(&basicMaterial);
// scene::scene_object_add_mesh(object, &cornell);
// scene::scene_object_add_mesh(object, &cornell);
// scene::scene_add_object(app->Scene, object); yolo::info("{} {}", app->Scene, object);
// scene::scene_add_object(app->Scene, object);
return app; return app;
} }

View File

@@ -1,5 +1,7 @@
#include "scene.hpp" #include "scene.hpp"
#include <yolo/yolo.hpp>
#include <memory> #include <memory>
#include <scene/camera.hpp> #include <scene/camera.hpp>
#include <scene/mesh.hpp> #include <scene/mesh.hpp>
@@ -10,7 +12,9 @@ namespace inferno::scene {
Scene* scene_create() Scene* scene_create()
{ {
Scene* scene = new Scene; Scene* scene = new Scene;
scene->Objects = std::vector<SceneObject*>();
scene->Camera = new graphics::Camera; scene->Camera = new graphics::Camera;
yolo::debug("Created scene {}", scene);
return scene; return scene;
} }
@@ -20,7 +24,9 @@ void scene_cleanup(Scene* scene)
void scene_add_object(Scene* scene, SceneObject* object) void scene_add_object(Scene* scene, SceneObject* object)
{ {
scene->Objects.emplace_back(std::move(object)); yolo::debug("Using scene {}", scene);
yolo::debug("Adding object to scene, no Objects: {}, adding to pool of: {}", object->Meshs.size(), scene->Objects.size());
scene->Objects.push_back(object);
scene->DidUpdate = true; scene->DidUpdate = true;
} }