when you pass a null ptr, the ptr is null?! who'd a thought
This commit is contained in:
@@ -25,7 +25,8 @@ elseif (APPLE)
|
||||
target_compile_options(inferno PRIVATE -O1)
|
||||
endif()
|
||||
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")
|
||||
target_compile_options(inferno PRIVATE -O1)
|
||||
target_compile_options(inferno PRIVATE -Wall)
|
||||
|
||||
@@ -33,24 +33,25 @@ InfernoApp* inferno_create()
|
||||
// Create window
|
||||
graphics::window_create("Inferno v" INFERNO_VERSION, 1280, 720);
|
||||
|
||||
// // setup the scene
|
||||
// scene::Material basicMaterial("basic");
|
||||
//
|
||||
// graphics::Shader* basicShader = graphics::shader_create();
|
||||
// graphics::shader_load(basicShader, "res/shaders/basic.glsl");
|
||||
// graphics::shader_link(basicShader);
|
||||
//
|
||||
// scene::SceneObject* object = scene::scene_object_create();
|
||||
//
|
||||
// scene::Mesh cornell;
|
||||
// cornell.loadOBJ("res/cornell-box.obj");
|
||||
// // cornell.loadOBJ("res/sponza.obj");
|
||||
// cornell.ready();
|
||||
// cornell.setMaterial(&basicMaterial);
|
||||
//
|
||||
// scene::scene_object_add_mesh(object, &cornell);
|
||||
// scene::scene_add_object(app->Scene, object);
|
||||
//
|
||||
// setup the scene
|
||||
scene::Material basicMaterial("basic");
|
||||
graphics::Shader* basicShader = graphics::shader_create();
|
||||
graphics::shader_load(basicShader, "res/shaders/basic.glsl");
|
||||
graphics::shader_link(basicShader);
|
||||
|
||||
app->Scene = scene::scene_create();
|
||||
scene::SceneObject* object = scene::scene_object_create();
|
||||
|
||||
scene::Mesh cornell;
|
||||
cornell.loadOBJ("res/cornell-box.obj");
|
||||
// cornell.loadOBJ("res/sponza.obj");
|
||||
cornell.ready();
|
||||
cornell.setMaterial(&basicMaterial);
|
||||
scene::scene_object_add_mesh(object, &cornell);
|
||||
|
||||
yolo::info("{} {}", app->Scene, object);
|
||||
scene::scene_add_object(app->Scene, object);
|
||||
|
||||
return app;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#include "scene.hpp"
|
||||
|
||||
#include <yolo/yolo.hpp>
|
||||
|
||||
#include <memory>
|
||||
#include <scene/camera.hpp>
|
||||
#include <scene/mesh.hpp>
|
||||
@@ -10,7 +12,9 @@ namespace inferno::scene {
|
||||
Scene* scene_create()
|
||||
{
|
||||
Scene* scene = new Scene;
|
||||
scene->Objects = std::vector<SceneObject*>();
|
||||
scene->Camera = new graphics::Camera;
|
||||
yolo::debug("Created scene {}", scene);
|
||||
return scene;
|
||||
}
|
||||
|
||||
@@ -20,7 +24,9 @@ void scene_cleanup(Scene* scene)
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user