diff --git a/example/include/example.hpp b/example/include/example.hpp index 3278372..4ad98b8 100644 --- a/example/include/example.hpp +++ b/example/include/example.hpp @@ -4,5 +4,5 @@ class ExampleApp : public prism::app { public: - + void initialize_render() override; }; \ No newline at end of file diff --git a/example/src/example.cpp b/example/src/example.cpp index f8ac293..0878bf3 100644 --- a/example/src/example.cpp +++ b/example/src/example.cpp @@ -1,5 +1,29 @@ #include "example.hpp" -void app_main(prism::engine* engine) { +#include "platform.hpp" +#include "file.hpp" +#include "engine.hpp" +#include "scene.hpp" +void app_main(prism::engine* engine) { + file::set_domain_path(file::Domain::App, "data"); + file::set_domain_path(file::Domain::Internal, "{resource_dir}/shaders"); + + platform::open_window("Example", {0, 0, 1280, 720}, WindowFlags::None); +} + +void ExampleApp::initialize_render() { + engine->create_empty_scene(); + auto scene = engine->get_scene(); + + auto camera_obj = scene->add_object(); + auto& camera = scene->add(camera_obj); + auto& camera_trans = scene->get(camera_obj); + camera_trans.position.z = -3; + + auto sun_obj = scene->add_object(); + auto& sun = scene->add(sun_obj); + sun.type = Light::Type::Sun; + auto& sun_trans = scene->get(sun_obj); + sun_trans.position = {5, 5, 5}; } \ No newline at end of file