Engine clean
Added namespaces to the core engine, improved premake setup, added a buildsolution batch script, removed tinygltf submodule
This commit is contained in:
		| @ -1,25 +1,23 @@ | ||||
| #include <glm/gtc/type_ptr.hpp> | ||||
| #include <glm/gtc/matrix_transform.hpp> | ||||
|  | ||||
| #include <imgui.h> | ||||
|  | ||||
| #include "stb_image.h" | ||||
| #include "../../libs/guizmo/ImGuizmo.h" | ||||
|  | ||||
| #include "../../BarinkEngine/src/BarinkEngine.h" | ||||
| #include "../../BarinkEngine/src/AssetManager/ModelImporter.h" | ||||
| #include "../../BarinkEngine/src/Graphics/Memory/Framebuffer.h" | ||||
| #include "../../BarinkEngine/src/PerfCounter.cpp" | ||||
| #include "../../BarinkEngine/src/Scene/Entity.h" | ||||
| #include "../../YoggieEngine/src/BarinkEngine.h" | ||||
| #include "../../YoggieEngine/src/AssetManager/ModelImporter.h" | ||||
| #include "../../YoggieEngine/src/Graphics/Memory/Framebuffer.h" | ||||
| #include "../../YoggieEngine/src/PerfCounter.cpp" | ||||
| #include "../../YoggieEngine/src/Scene/Entity.h" | ||||
| #include "Widgets.h" | ||||
|  | ||||
| using namespace YoggieEngine; | ||||
| /* | ||||
| * Define globals | ||||
| */ | ||||
|  | ||||
| Framebuffer* framebuffer; | ||||
| Scene Level1; | ||||
| BarinkEngine::SceneObject* Model; | ||||
| SceneObject* Model; | ||||
| Entity cube; | ||||
|  | ||||
| entt::entity  Selected; | ||||
| @ -35,25 +33,25 @@ void Start() { | ||||
|  | ||||
|  | ||||
|     // Create a level and load it as the current level | ||||
|     auto importer = BarinkEngine::ModelImporter(); | ||||
|     auto importer = ModelImporter(); | ||||
|      | ||||
|     // Create a cube  | ||||
|     Model = importer.Import("build/Debug/Models/Cube.obj"); | ||||
|     cube = Level1.AddEntity("cube"); | ||||
|      | ||||
|     auto& render3DComponent = cube.AddComponent<BarinkEngine::Render3DComponent>(); | ||||
|     auto& render3DComponent = cube.AddComponent<Render3DComponent>(); | ||||
|     render3DComponent.mesh = *(Model->renderable->mesh); | ||||
|  | ||||
|     cube.GetComponent<BarinkEngine::TransformComponent>().Position = glm::vec3(1.0f, 0.0f, 5.0f); | ||||
|     cube.GetComponent<TransformComponent>().Position = glm::vec3(1.0f, 0.0f, 5.0f); | ||||
|      | ||||
|     auto cube2 = Level1.AddEntity("Cube1"); | ||||
|     auto& rendercube2 = cube2.AddComponent<BarinkEngine::Render3DComponent>(); | ||||
|     auto& rendercube2 = cube2.AddComponent<Render3DComponent>(); | ||||
|     rendercube2.mesh = *(Model->renderable->mesh); | ||||
|  | ||||
|  | ||||
|     // create an ambient light source | ||||
|     auto AmbientLight = Level1.AddEntity("AmbientLight"); | ||||
|     auto light = AmbientLight.AddComponent<BarinkEngine::LightComponent>(); | ||||
|     auto light = AmbientLight.AddComponent<LightComponent>(); | ||||
|     light.Color = glm::vec3(1.0f); | ||||
|     light.Strength = 1.0f; | ||||
|  | ||||
|  | ||||
| @ -1,7 +1,8 @@ | ||||
| #include "widgets.h" | ||||
| //#include "EditorConsole.h" | ||||
| #include <iostream> | ||||
| #include "../../BarinkEngine/src/Scene/Components.h" | ||||
| #include "../../BarinkEngine/src/Scene/Entity.h" | ||||
| #include "../../YoggieEngine/src/Scene/Components.h" | ||||
| #include "../../YoggieEngine/src/Scene/Entity.h" | ||||
| class Editor; | ||||
|  | ||||
| void ComponentView(const std::string& componentName, voidFunction func) | ||||
| @ -18,33 +19,61 @@ void ComponentView(const std::string& componentName, voidFunction func) | ||||
|  | ||||
| void Inspector(entt::entity ent , Scene& scene) { | ||||
|     ImGui::Begin("Inspector"); | ||||
|     static char* names[] = { "Script Component", "Camera Component" }; | ||||
|  | ||||
|     static float Zoom = 90; | ||||
|     static glm::vec3 Position = glm::vec3(0.0f, 0.0f, 0.0f); | ||||
|     static glm::vec3 Rotation = glm::vec3(0.0f, 0.0f, 0.0f); | ||||
|     if (scene.getReg().valid(ent)) { | ||||
|  | ||||
|         Entity entity = Entity(ent, &scene); | ||||
|          | ||||
|         auto component = entity.GetComponent<IdentifierComponent>(); | ||||
|         ImGui::LabelText("## Name:", component.name.c_str()); | ||||
|          | ||||
|          | ||||
|          | ||||
|         if (ImGui::Button("Add Component")) | ||||
|             ImGui::OpenPopup("Component picker"); | ||||
|  | ||||
|         auto component = entity.GetComponent<BarinkEngine::IdentifierComponent>(); | ||||
|         ImGui::LabelText("## Name:", component.name.c_str() ); | ||||
|         ImGui::SameLine(); | ||||
|         if (ImGui::BeginPopup("Component picker")) { | ||||
|  | ||||
|             for (int i = 0; i < IM_ARRAYSIZE(names); i++) | ||||
|                 if (ImGui::MenuItem(names[i])) { | ||||
|                     std::cout << "Add a " << names[i] << " to "  | ||||
|                         << entity.GetComponent<IdentifierComponent>().name << std::endl; | ||||
|                 } | ||||
|  | ||||
|             ImGui::EndPopup(); | ||||
|         } | ||||
|              | ||||
|         ImGui::NewLine(); | ||||
|   | ||||
|        | ||||
|         if (entity.HasComponent<BarinkEngine::TransformComponent>()) { | ||||
|             auto& transform = entity.GetComponent<BarinkEngine::TransformComponent>(); | ||||
|                 ImGui::DragFloat3("Position", glm::value_ptr(transform.Position) , 0.01); | ||||
|  | ||||
|  | ||||
|         if (entity.HasComponent<TransformComponent>()) { | ||||
|             auto& transform = entity.GetComponent<TransformComponent>(); | ||||
|             if (ImGui::CollapsingHeader("Transform", ImGuiTreeNodeFlags_None )) { | ||||
|                 ImGui::DragFloat3("Position", glm::value_ptr(transform.Position), 0.01); | ||||
|                 ImGui::DragFloat3("Rotation", glm::value_ptr(transform.Rotation), 0.01); | ||||
|                 ImGui::DragFloat3("Scale", glm::value_ptr(transform.Scale), 0.01, 0); | ||||
|            | ||||
|  | ||||
|  | ||||
|             } | ||||
|                  | ||||
|         } | ||||
|  | ||||
|         if (entity.HasComponent<BarinkEngine::LightComponent>()) { | ||||
|             auto& light = entity.GetComponent<BarinkEngine::LightComponent>(); | ||||
|         if (entity.HasComponent<LightComponent>()) { | ||||
|             auto& light = entity.GetComponent<LightComponent>(); | ||||
|             ImGui::DragFloat("Strength", &light.Strength, 0.001f); | ||||
|             ImGui::ColorEdit3("Colour", glm::value_ptr(light.Color)); | ||||
|            | ||||
|         } | ||||
|  | ||||
|         if (entity.HasComponent <BarinkEngine::CameraComponent>()) { | ||||
|             auto& camera = entity.GetComponent<BarinkEngine::CameraComponent>(); | ||||
|         if (entity.HasComponent <CameraComponent>()) { | ||||
|             auto& camera = entity.GetComponent<CameraComponent>(); | ||||
|             ComponentView("Camera", [] { | ||||
|                 ImGui::SliderFloat("Zoom", &Zoom, 10, 190); | ||||
|                 ImGui::InputFloat3("Position:", &Position[0]); | ||||
| @ -52,7 +81,7 @@ void Inspector(entt::entity ent , Scene& scene) { | ||||
|                 }); | ||||
|         } | ||||
|          | ||||
|         if (entity.HasComponent<BarinkEngine::ScriptComponent>()) { | ||||
|         if (entity.HasComponent<ScriptComponent>()) { | ||||
|             ComponentView("Scripting", [] { | ||||
|                 ImGui::LabelText("##--", "Hello scripting"); | ||||
|                 }); | ||||
| @ -71,7 +100,7 @@ void SceneExplorer(entt::entity& selected, Scene& scene ) | ||||
|  | ||||
|     scene.getReg().each([&](entt::entity enttNumber) { | ||||
|         Entity entity = Entity(enttNumber, &scene); | ||||
|         auto id = entity.GetComponent<BarinkEngine::IdentifierComponent>(); | ||||
|         auto id = entity.GetComponent<IdentifierComponent>(); | ||||
|  | ||||
|             if (ImGui::Selectable(id.name.c_str(), enttNumber == selected )) { | ||||
|                 selected = enttNumber; | ||||
| @ -122,9 +151,11 @@ void Settings() { | ||||
|     ImGui::End(); | ||||
| } | ||||
|  | ||||
| //auto console = EditorConsole(); | ||||
|  | ||||
| void Console() { | ||||
|     ImGui::Begin("Console", false); | ||||
|     ImGui::Dummy(ImVec2{ 128, 128 }); | ||||
|   //  console.Draw(); | ||||
|     ImGui::End(); | ||||
| } | ||||
|  | ||||
|  | ||||
| @ -2,11 +2,14 @@ | ||||
| #include <glm/glm.hpp> | ||||
| #include <imgui.h> | ||||
| #include <string> | ||||
| #include "../../libs/guizmo/ImGuizmo.h" | ||||
| #include "../../BarinkEngine/src/BarinkEngine.h" | ||||
|  | ||||
| #include <entt/entt.hpp> | ||||
| #include <entt/entity/fwd.hpp> | ||||
|  | ||||
| #include "../../libs/guizmo/ImGuizmo.h" | ||||
| #include "../../YoggieEngine/src/BarinkEngine.h" | ||||
| typedef void ( *voidFunction ) (void); | ||||
| using namespace YoggieEngine; | ||||
|  | ||||
| void ComponentView(const std::string& componentName, voidFunction func); | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user