From 3446bc2399cfa53ca7dd6744f5d0ebcfa9158ba9 Mon Sep 17 00:00:00 2001 From: nigel Date: Fri, 27 May 2022 22:47:36 +0200 Subject: [PATCH] Reorganising the game engine structure. Getting things ready for real development of the engine --- BarinkEngine/BarinkEngine.cpp | 34 ++++++ BarinkEngine/Engine.cpp | 10 ++ BarinkEngine/Include/BarinkEngine.h | 28 +++++ BarinkEngine/Include/Engine.h | 10 ++ BarinkEngine/premake5.lua | 34 ++++++ MemoryManager.h | 17 +++ MyGraphicsEngine/Buffer.cpp | 2 +- MyGraphicsEngine/Camera.cpp | 2 +- MyGraphicsEngine/ModelImporter.cpp | 14 +-- .../Renderable.cpp | 101 ++++++++-------- MyGraphicsEngine/Shader.cpp | 14 +-- MyGraphicsEngine/VertexArray.cpp | 2 +- .../include/AssetManager/ModelImporter.h | 3 +- .../include/MyGraphicsEngine/Mesh.h | 1 + .../include/MyGraphicsEngine/Renderable.h | 30 +++++ .../include/MyGraphicsEngine/Shader.h | 2 +- .../include/MyGraphicsEngine/Window.h | 6 +- MyGraphicsEngine/premake5.lua | 49 ++++++++ MyGraphicsEngine/window.cpp | 9 +- SandboxApplication/Renderable.h | 24 ---- SandboxApplication/Sandbox.cpp | 46 ++------ premake5.lua | 109 ++++-------------- 22 files changed, 326 insertions(+), 221 deletions(-) create mode 100644 BarinkEngine/BarinkEngine.cpp create mode 100644 BarinkEngine/Engine.cpp create mode 100644 BarinkEngine/Include/BarinkEngine.h create mode 100644 BarinkEngine/Include/Engine.h create mode 100644 BarinkEngine/premake5.lua create mode 100644 MemoryManager.h rename {SandboxApplication => MyGraphicsEngine}/Renderable.cpp (91%) create mode 100644 MyGraphicsEngine/include/MyGraphicsEngine/Renderable.h create mode 100644 MyGraphicsEngine/premake5.lua delete mode 100644 SandboxApplication/Renderable.h diff --git a/BarinkEngine/BarinkEngine.cpp b/BarinkEngine/BarinkEngine.cpp new file mode 100644 index 0000000..64fb98b --- /dev/null +++ b/BarinkEngine/BarinkEngine.cpp @@ -0,0 +1,34 @@ +#include "Include/BarinkEngine.h" + +extern void Start(int argc, char* argv[]); +extern void UpdateApplication(); + +using namespace BarinkEngine; + +bool ShouldQuit = false; + +int main(int argc, char* argv[]) { + + // Start Engine + Engine::Startup(); + + Start(argc, argv); + + + while (!ShouldQuit) { + //InputManager::PollEvents(); + + UpdateApplication(); + } + + + + + // Kill Engine + Engine::Shutdown(); + + return 0; +} + + + diff --git a/BarinkEngine/Engine.cpp b/BarinkEngine/Engine.cpp new file mode 100644 index 0000000..fbd6e29 --- /dev/null +++ b/BarinkEngine/Engine.cpp @@ -0,0 +1,10 @@ +#include "include/BarinkEngine.h" +namespace BarinkEngine { + void Engine::Startup() { + std::cout << "Starting Engine! vroom vroom!" << std::endl; + } + + void Engine::Shutdown() { + std::cout << "ShutDown Engine!" << std::endl; + } +}; diff --git a/BarinkEngine/Include/BarinkEngine.h b/BarinkEngine/Include/BarinkEngine.h new file mode 100644 index 0000000..01db315 --- /dev/null +++ b/BarinkEngine/Include/BarinkEngine.h @@ -0,0 +1,28 @@ +#pragma once +#include +#include +#include +#include "Engine.h" + +#include + +/* +#include "../MemoryManager.h" +#include + + +#include +#include +#include +#include + + + +extern "C" +{ + #include "lauxlib.h" + #include "lua.h" + #include "lualib.h" +} + +*/ diff --git a/BarinkEngine/Include/Engine.h b/BarinkEngine/Include/Engine.h new file mode 100644 index 0000000..2995369 --- /dev/null +++ b/BarinkEngine/Include/Engine.h @@ -0,0 +1,10 @@ +#pragma once +namespace BarinkEngine { + + static class Engine { + public: + static void Startup(); + static void Shutdown(); + + }; +}; diff --git a/BarinkEngine/premake5.lua b/BarinkEngine/premake5.lua new file mode 100644 index 0000000..655d077 --- /dev/null +++ b/BarinkEngine/premake5.lua @@ -0,0 +1,34 @@ +project "BarinkEngine" + kind "StaticLib" + + buildmessage "Building BarinkEngine" + + includedirs{ + "./../libs/lua/include", + "./libs/spdlog/include", + + "./../libs/glm", + "./../MyGraphicsEngine/include", + + "./../libs/GorillaAudio/include" + + } + + libdirs { + "./../libs/lua", + "./../libs/spdlog/build/Release" + } + + links { + "lua54", + "spdlog", + "MyGraphicsEngine" + } + + files { + "./*.cpp", + "./*.h", + "./**/*.cpp", + "./**/*.h" + } + diff --git a/MemoryManager.h b/MemoryManager.h new file mode 100644 index 0000000..d00fb95 --- /dev/null +++ b/MemoryManager.h @@ -0,0 +1,17 @@ +#pragma once +#include +#include + +static int HeapAllocations = 0; +static int HeapDeallocations = 0; + +void* operator new(std::size_t sz) { + HeapAllocations++; + return std::malloc(sz); +} + +void operator delete(void* ptr) noexcept { + HeapDeallocations++; + std::free(ptr); +} + diff --git a/MyGraphicsEngine/Buffer.cpp b/MyGraphicsEngine/Buffer.cpp index 9fdba04..8059e1c 100644 --- a/MyGraphicsEngine/Buffer.cpp +++ b/MyGraphicsEngine/Buffer.cpp @@ -1,4 +1,4 @@ -#include +#include "include/MyGraphicsEngine/Buffer.h" int Buffer::getBufferID() { diff --git a/MyGraphicsEngine/Camera.cpp b/MyGraphicsEngine/Camera.cpp index 130a3fe..59e938b 100644 --- a/MyGraphicsEngine/Camera.cpp +++ b/MyGraphicsEngine/Camera.cpp @@ -1,4 +1,4 @@ -#include +#include "include/MyGraphicsEngine/Camera.h" Camera::Camera(glm::vec3 position, glm::vec3 rotation, float zoom) : Position(position), Rotation(rotation), Zoom(zoom) { diff --git a/MyGraphicsEngine/ModelImporter.cpp b/MyGraphicsEngine/ModelImporter.cpp index 288318c..d1bfa92 100644 --- a/MyGraphicsEngine/ModelImporter.cpp +++ b/MyGraphicsEngine/ModelImporter.cpp @@ -3,27 +3,27 @@ void ModelImporter::ImportFBX(std::string path) { - spdlog::warn("ImportFBX not implemented!"); + //spdlog::warn("ImportFBX not implemented!"); } void ModelImporter::ImportBlend(std::string path) { - spdlog::warn("ImportBlend not implemented!"); + //spdlog::warn("ImportBlend not implemented!"); } void ModelImporter::ImportGLTF(std::string path) { - spdlog::warn("ImportGLTF not implemented!"); + //spdlog::warn("ImportGLTF not implemented!"); } void ModelImporter::ImportOBJ(std::string path) { - spdlog::warn("ImportOBJ not implemented!"); + //spdlog::warn("ImportOBJ not implemented!"); } void ModelImporter::Import(std::string path) { - spdlog::warn("Import not implemented!"); + //spdlog::warn("Import not implemented!"); } std::vector ModelImporter::Test() { @@ -51,7 +51,7 @@ std::vector ModelImporter::Test() { */ - spdlog::info("======= Assimp ======"); + //spdlog::info("======= Assimp ======"); Assimp::Importer importer; const aiScene* scene = importer.ReadFile("build/SandboxApplication/Debug/Cube.obj", aiProcess_Triangulate | aiProcess_FlipUVs); @@ -94,7 +94,7 @@ BarinkEngine::Mesh ModelImporter::processMesh(aiMesh* mesh, const aiScene* scene vertices.push_back(vector); } - spdlog::info("{} == {}", mesh->mNumVertices, vertices.size()); + //spdlog::info("{} == {}", mesh->mNumVertices, vertices.size()); // Process Indices for (unsigned int i = 0; i < mesh->mNumFaces; i++) { diff --git a/SandboxApplication/Renderable.cpp b/MyGraphicsEngine/Renderable.cpp similarity index 91% rename from SandboxApplication/Renderable.cpp rename to MyGraphicsEngine/Renderable.cpp index 15d144c..caa0f9d 100644 --- a/SandboxApplication/Renderable.cpp +++ b/MyGraphicsEngine/Renderable.cpp @@ -1,50 +1,51 @@ -#include "Renderable.h" - -Renderable Renderable::Load() -{ - return Renderable(); -} - -Renderable::Renderable() -{ - - meshes = ModelImporter::Test(); - - transform.Scale = glm::vec3(1.0f); - transform.Rotation = glm::vec3(0.0f, 90.0f, 0.0f); - transform.Position = glm::vec3(0.0f, 0.0f, -10.0f); - - - VAO.Create(); - VAO.Bind(); - - - vertexBuffer.createBuffer(); - vertexBuffer.Bind(false); - vertexBuffer.setBufferData(&meshes[0].vertices[0], meshes[0].vertices.size() * sizeof(glm::vec3), false); - - - elementBuffer.createBuffer(); - elementBuffer.Bind(true); - elementBuffer.setBufferData(&meshes[0].elements[0], meshes[0].elements.size() * sizeof(unsigned int), true); - - VAO.AttachAttribute(0, 3, 0); - - vertexBuffer.Unbind(false); - VAO.Unbind(); - - -} - -Renderable::~Renderable() -{ -} - -void Renderable::Draw() -{ - VAO.Bind(); - elementBuffer.Bind(true); - glDrawElements(GL_TRIANGLES, static_cast(meshes[0].elements.size()), GL_UNSIGNED_INT, NULL); - VAO.Unbind(); - -} +#include "include/MyGraphicsEngine/Renderable.h" +#include "include/AssetManager/ModelImporter.h" + +Renderable Renderable::Load() +{ + return Renderable(); +} + +Renderable::Renderable() +{ + + meshes = ModelImporter::Test(); + + transform.Scale = glm::vec3(1.0f); + transform.Rotation = glm::vec3(0.0f, 90.0f, 0.0f); + transform.Position = glm::vec3(0.0f, 0.0f, -10.0f); + + + VAO.Create(); + VAO.Bind(); + + + vertexBuffer.createBuffer(); + vertexBuffer.Bind(false); + vertexBuffer.setBufferData(&meshes[0].vertices[0], meshes[0].vertices.size() * sizeof(glm::vec3), false); + + + elementBuffer.createBuffer(); + elementBuffer.Bind(true); + elementBuffer.setBufferData(&meshes[0].elements[0], meshes[0].elements.size() * sizeof(unsigned int), true); + + VAO.AttachAttribute(0, 3, 0); + + vertexBuffer.Unbind(false); + VAO.Unbind(); + + +} + +Renderable::~Renderable() +{ +} + +void Renderable::Draw() +{ + VAO.Bind(); + elementBuffer.Bind(true); + glDrawElements(GL_TRIANGLES, static_cast(meshes[0].elements.size()), GL_UNSIGNED_INT, NULL); + VAO.Unbind(); + +} diff --git a/MyGraphicsEngine/Shader.cpp b/MyGraphicsEngine/Shader.cpp index 9f07d45..6469f14 100644 --- a/MyGraphicsEngine/Shader.cpp +++ b/MyGraphicsEngine/Shader.cpp @@ -1,4 +1,4 @@ -#include "MyGraphicsEngine/Shader.h" +#include "include/MyGraphicsEngine/Shader.h" Shader::Shader(const std::string vertexShaderPath, const std::string fragmentShaderPath) { @@ -6,7 +6,7 @@ Shader::Shader(const std::string vertexShaderPath, const std::string fragmentSha int succes; char* vertexCode = readFile(vertexShaderPath.c_str()); - spdlog::info(vertexCode); + //spdlog::info(vertexCode); unsigned int vertId = glCreateShader(GL_VERTEX_SHADER); glShaderSource(vertId, 1, &vertexCode, NULL); @@ -15,13 +15,13 @@ Shader::Shader(const std::string vertexShaderPath, const std::string fragmentSha glGetShaderiv(vertId, GL_COMPILE_STATUS, &succes); if(!succes){ glGetShaderInfoLog(vertId, 512, NULL, infoLog); - spdlog::error( "Vertex shader has compile error {}", infoLog); + //spdlog::error( "Vertex shader has compile error {}", infoLog); return; } char* fragmentCode = readFile(fragmentShaderPath.c_str()); - spdlog::info(fragmentCode); + //spdlog::info(fragmentCode); unsigned int fragId = glCreateShader(GL_FRAGMENT_SHADER); @@ -33,7 +33,7 @@ Shader::Shader(const std::string vertexShaderPath, const std::string fragmentSha glGetShaderiv(fragId, GL_COMPILE_STATUS, &succes); if(!succes){ glGetShaderInfoLog(fragId, 512, NULL, infoLog); - spdlog::error("Fragment shader has compile error {}", infoLog); + //spdlog::error("Fragment shader has compile error {}", infoLog); return; } @@ -63,7 +63,7 @@ char* Shader::readFile (const char* filePath){ file.open(filePath); if(file.is_open() == false){ - spdlog::info("File not found."); + //spdlog::info("File not found."); return nullptr; } @@ -74,7 +74,7 @@ char* Shader::readFile (const char* filePath){ // Undo previous seek. file.seekg(0, std::ios::beg); - spdlog::info("filesize: {}", filesize); + //spdlog::info("filesize: {}", filesize); // Create a big enough buffer for the file diff --git a/MyGraphicsEngine/VertexArray.cpp b/MyGraphicsEngine/VertexArray.cpp index 18fd7bc..3942818 100644 --- a/MyGraphicsEngine/VertexArray.cpp +++ b/MyGraphicsEngine/VertexArray.cpp @@ -1,4 +1,4 @@ -#include +#include "include/MyGraphicsEngine/VertexArray.h" #include void VertexArray::Create(){ diff --git a/MyGraphicsEngine/include/AssetManager/ModelImporter.h b/MyGraphicsEngine/include/AssetManager/ModelImporter.h index 9a6ab3f..18fc03f 100644 --- a/MyGraphicsEngine/include/AssetManager/ModelImporter.h +++ b/MyGraphicsEngine/include/AssetManager/ModelImporter.h @@ -4,11 +4,10 @@ #define STB_IMAGE_WRITE_IMPLEMENTATION #define TINYGLTF_NO_EXTERNAL_IMAGE -#include +#include "../MyGraphicsEngine/Mesh.h" #include #include #include -#include #include class ModelImporter { diff --git a/MyGraphicsEngine/include/MyGraphicsEngine/Mesh.h b/MyGraphicsEngine/include/MyGraphicsEngine/Mesh.h index 3eeae11..781914b 100644 --- a/MyGraphicsEngine/include/MyGraphicsEngine/Mesh.h +++ b/MyGraphicsEngine/include/MyGraphicsEngine/Mesh.h @@ -1,6 +1,7 @@ #pragma once #include #include + namespace BarinkEngine{ class Mesh { diff --git a/MyGraphicsEngine/include/MyGraphicsEngine/Renderable.h b/MyGraphicsEngine/include/MyGraphicsEngine/Renderable.h new file mode 100644 index 0000000..48b537f --- /dev/null +++ b/MyGraphicsEngine/include/MyGraphicsEngine/Renderable.h @@ -0,0 +1,30 @@ +#pragma once +#include +#include "Mesh.h" +#include "Transform.h" +#include "Buffer.h" +#include "VertexArray.h" + +/* +#include +#include +#include + +*/ + +class Renderable { +private: + std::vector meshes; + Renderable(); + +public: + Buffer vertexBuffer; + Buffer elementBuffer; + VertexArray VAO; + Transform transform; + ~Renderable(); + + static Renderable Load(); + void Draw(); + +}; \ No newline at end of file diff --git a/MyGraphicsEngine/include/MyGraphicsEngine/Shader.h b/MyGraphicsEngine/include/MyGraphicsEngine/Shader.h index a6c31fc..f2985f1 100644 --- a/MyGraphicsEngine/include/MyGraphicsEngine/Shader.h +++ b/MyGraphicsEngine/include/MyGraphicsEngine/Shader.h @@ -1,9 +1,9 @@ #pragma once + #include #include #include #include -#include #include #include diff --git a/MyGraphicsEngine/include/MyGraphicsEngine/Window.h b/MyGraphicsEngine/include/MyGraphicsEngine/Window.h index de7ecfb..5229893 100644 --- a/MyGraphicsEngine/include/MyGraphicsEngine/Window.h +++ b/MyGraphicsEngine/include/MyGraphicsEngine/Window.h @@ -1,9 +1,13 @@ #pragma once -#include #define GLFW_STATIC + +#include #include + + + class BarinkWindow{ private: GLFWwindow* window; diff --git a/MyGraphicsEngine/premake5.lua b/MyGraphicsEngine/premake5.lua new file mode 100644 index 0000000..15b6477 --- /dev/null +++ b/MyGraphicsEngine/premake5.lua @@ -0,0 +1,49 @@ + + project "MyGraphicsEngine" + kind "StaticLib" + + buildmessage "Building MyGraphicsEngine ..." + + includedirs { + "../libs/assimp/include", + "../libs/glad/include", + "../libs/glfw/include", + "../libs/tinygltf", + "../libs/glew/include", + "../libs/glm", + "../libs/ImGui", + + } + + + libdirs{ + "../libs/assimp/lib/Debug", + "../libs/glfw/build/src/Debug", + "../libs/ImGui" + } + + links { + "assimp-vc143-mtd", + "glfw3", + } + + files { + "../libs/ImGui/*.cpp", + "../libs/ImGui/backends/imgui_impl_glfw.cpp", + "../libs/ImGui/backends/imgui_impl_Opengl3.cpp", + "../libs/glad/src/glad.c", + "./*.cpp", + "./*.h", + "./**/*.cpp", + "./**/*.shader", + "./**/*.h" + + } + + + -- NOTE: make these copy instructions more flexible + ok, err = os.copyfile("shaders/fragment.shader", "../build/SandboxApplication/Debug/test.fs") + if err then error("Copy fragment shader source failed!") end + + ok, err = os.copyfile("shaders/vertex.shader", "../build/SandboxApplication/Debug/test.vs") + if err then error("Copy vertex shader source failed!") end diff --git a/MyGraphicsEngine/window.cpp b/MyGraphicsEngine/window.cpp index 3cf8112..61abab0 100644 --- a/MyGraphicsEngine/window.cpp +++ b/MyGraphicsEngine/window.cpp @@ -1,11 +1,12 @@ -#include "MyGraphicsEngine/Window.h" -#include +#include "include/MyGraphicsEngine/Window.h" +#include +#include bool BarinkWindow::InitGLFW(){ if(!glfwInit()) { - spdlog::error("Failed to initialise GLFW!"); +// spdlog::error("Failed to initialise GLFW!"); return false; } @@ -22,7 +23,7 @@ Width(width), Height(height), FullScreen(false){ if( !window) { - spdlog::error("GLFW failed to create window!"); +// spdlog::error("GLFW failed to create window!"); glfwTerminate(); return; } diff --git a/SandboxApplication/Renderable.h b/SandboxApplication/Renderable.h deleted file mode 100644 index 778ab5f..0000000 --- a/SandboxApplication/Renderable.h +++ /dev/null @@ -1,24 +0,0 @@ -#pragma once -#include -#include -#include -#include -#include -#include -#include -class Renderable { -private: - std::vector meshes; - Renderable(); - -public: - Buffer vertexBuffer; - Buffer elementBuffer; - VertexArray VAO; - Transform transform; - ~Renderable(); - - static Renderable Load(); - void Draw(); - -}; \ No newline at end of file diff --git a/SandboxApplication/Sandbox.cpp b/SandboxApplication/Sandbox.cpp index 3a51e1a..a28ccb7 100644 --- a/SandboxApplication/Sandbox.cpp +++ b/SandboxApplication/Sandbox.cpp @@ -1,30 +1,18 @@ -#include +#include -#include -#include -#include +void Start(int argc, char* argv[]) { -#include + std::cout << "Hello start!" << std::endl; + std::cout << "h" << std::endl; + // BarinkWindow GameWindow(800, 600); -#include "imgui.h" -#include "backends/imgui_impl_glfw.h" -#include "backends/imgui_impl_opengl3.h" -#include "Renderable.h" -#include +} - - -extern "C" - { - #include "lauxlib.h" - #include "lua.h" - #include "lualib.h" +void UpdateApplication() +{ } /* -#include -#include -*/ int main(int argc, char* argv[]) { @@ -33,8 +21,6 @@ int main(int argc, char* argv[]) { getcwd(cwd, 256); spdlog::info("Working directory: {}", cwd); - - BarinkWindow GameWindow(800, 600); IMGUI_CHECKVERSION(); ImGui::CreateContext(); @@ -61,21 +47,6 @@ int main(int argc, char* argv[]) { luaL_dofile(L,"build/SandboxApplication/Debug/script.lua"); - /* - * gau_Manager* mgr; - ga_Mixer* mixer; - ga_Sound sound; - ga_Handle handle; - gau_SampleSourceLoop* loopSrc = 0; - gau_SampleSourceLoop** pLoopSrc = &loopSrc; - gc_int32 loop = 0; - gc_int32 quit = 0; - - - gc_initialize(0); - mgr = gau_manager_create(); - mixer = gau_manager_mixer(mgr); - */ char* lua_code = new char[255]; memset(lua_code, '\0', 255); @@ -162,3 +133,4 @@ int main(int argc, char* argv[]) { } +*/ \ No newline at end of file diff --git a/premake5.lua b/premake5.lua index 7203669..6d6106e 100644 --- a/premake5.lua +++ b/premake5.lua @@ -1,104 +1,43 @@ workspace "BarinkEngine" configurations { "Debug", "Test", "Release" } + language "C++" cppdialect "C++17" + targetdir "./build/%{prj.name}/%{cfg.buildcfg}" objdir "./intermediates/%{prj.name}/%{cfg.buildcfg}" + architecture "x86_64" + + filter "configurations:Debug" + defines {"DEBUG"} + symbols "On" + + filter "configurations:Release" + defines {"NDEBUG"} + optimize "On" + + project "SandboxApplication" kind "ConsoleApp" - buildmessage "Building BarinkEngineSandbox ..." - - includedirs { - "./libs/assimp/include", - "./libs/glad/include", - "./MyGraphicsEngine", - "./MyGraphicsEngine/include", - "./libs/spdlog/include", - "./libs/glm", - "./libs/GorillaAudio/include", - "./libs/lua/include", - "./libs/glfw/include", - "./libs/ImGui", - "./libs/lua/include" - - } - - libdirs{ - "./libs/spdlog/build/Release", - "./libs/glfw/build/src/Debug", - "./libs/lua", - "./libs/ImGui" - } + buildmessage "Building Sandbox ..." links{ - "lua54", - "spdlog", - "glfw3", - "MyGraphicsEngine" + "BarinkEngine" } + includedirs{ + "./BarinkEngine/include" + } + files { - "./libs/ImGui/*.cpp", - "./libs/ImGui/backends/imgui_impl_glfw.cpp", - "./libs/ImGui/backends/imgui_impl_Opengl3.cpp", - "SandboxApplication/*.cpp" + "./SandboxApplication/*.h", + "./SandboxApplication/*.cpp" } - defines {"DEBUG"} - symbols "On" - - -- NOTE: make these copy instructions more flexible - ok, err = os.copyfile("MyGraphicsEngine/shaders/fragment.shader", "build/SandboxApplication/Debug/test.fs") - if err then error("Copy fragment shader source failed!") end - - ok, err = os.copyfile("MyGraphicsEngine/shaders/vertex.shader", "build/SandboxApplication/Debug/test.vs") - if err then error("Copy vertex shader source failed!") end - - - project "MyGraphicsEngine" - kind "StaticLib" - - buildmessage "Building MyGraphicsEngine ..." - - includedirs { - "./libs/assimp/include", - "./libs/glad/include", - "./libs/glfw/include", - "./libs/tinygltf", - "./libs/glew/include", - "./libs/spdlog/include", - "./libs/glm", - "./MyGraphicsEngine/include" - } - - - libdirs{ - "./libs/spdlog/build/Release", - "./libs/assimp/lib/Debug", - "./libs/glfw/build/src/Debug" - } - - links { - "spdlog", - "assimp-vc143-mtd", - "glfw3" - } - - files { - "./libs/glad/src/glad.c", - "./MyGraphicsEngine/**/*.*" , - "./MyGraphicsEngine/*.*" - - } - - filter "configurations:Debug" - defines {"DEBUG"} - symbols "On" - - filter "configurations:Release" - defines {"NDEBUG"} - optimize "On" + include("./BarinkEngine") + + include("./MyGraphicsEngine") \ No newline at end of file