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)
|
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)
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user