#include void Start(int argc, char* argv[]) { std::cout << "Hello start!" << std::endl; std::cout << "h" << std::endl; // BarinkWindow GameWindow(800, 600); } void UpdateApplication() { } /* int main(int argc, char* argv[]) { char cwd[256]; memset(cwd, '\0', 256); getcwd(cwd, 256); spdlog::info("Working directory: {}", cwd); IMGUI_CHECKVERSION(); ImGui::CreateContext(); ImGuiIO& io = ImGui::GetIO(); (void)io; ImGui::StyleColorsDark(); ImGui_ImplGlfw_InitForOpenGL(GameWindow.windowptr(), true); ImGui_ImplOpenGL3_Init("#version 440"); Camera cam(glm::vec3(0.0f, 1.5f, -10.0f), glm::vec3(0.0f, 0.0f, 0.0f), 90.0f); Renderable Cube = Renderable::Load(); spdlog::info("==== Load Shader(s) ===="); std::string vertexShaderSource = "build/SandboxApplication/Debug/test.vs"; std::string fragmentShaderSource = "build/SandboxApplication/Debug/test.fs"; Shader shader (vertexShaderSource, fragmentShaderSource); lua_State* L = luaL_newstate(); luaL_openlibs(L); luaL_dostring(L, "print('BarinkEngine')"); spdlog::info("==== Run script ===="); luaL_dofile(L,"build/SandboxApplication/Debug/script.lua"); char* lua_code = new char[255]; memset(lua_code, '\0', 255); bool runCode = false; while (!GameWindow.WindowShouldClose()) { if (runCode == true) { luaL_dostring(L,lua_code); runCode = false; } glm::mat4 tran = glm::translate(glm::mat4(), Cube.transform.Position); glm::mat4 scale = glm::scale(glm::mat4(), Cube.transform.Scale); glm::mat4 rot = glm::rotate(glm::mat4(), glm::radians(Cube.transform.Rotation.x), glm::vec3(1.0f, 0.0f, 0.0f)) * glm::rotate(glm::mat4(), glm::radians(Cube.transform.Rotation.y), glm::vec3(0.0f, 1.0f, 0.0f)) * glm::rotate(glm::mat4(), glm::radians(Cube.transform.Rotation.z), glm::vec3(0.0f, 0.0f, 1.0f)); glm::mat4 model = tran * rot * scale; glm::mat4 projection = glm::perspective(glm::radians(cam.Zoom), (800.0f / 600.0f), 0.001f, 100.0f); GameWindow.Poll(); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); shader.Use(); shader.setUniformMat4("P", projection); shader.setUniformMat4("M", model); shader.setUniformMat4("V", cam.GetViewMatrix()); Cube.Draw(); ImGui_ImplOpenGL3_NewFrame(); ImGui_ImplGlfw_NewFrame(); ImGui::NewFrame(); ImGui::Begin("Transform"); ImGui::Text("Cube"); ImGui::InputFloat3("Position:", (float*)&Cube.transform.Position); ImGui::InputFloat3("Rotation:", (float*)&Cube.transform.Rotation); ImGui::InputFloat3("Scale:", (float*)&Cube.transform.Scale); ImGui::End(); ImGui::Begin("Camera"); ImGui::SliderFloat("Zoom:", &cam.Zoom, 10, 190); ImGui::End(); ImGui::Begin("Scripting!!"); ImGui::InputTextMultiline("Lua Script", lua_code, 255); runCode = ImGui::Button("Run"); ImGui::End(); ImGui::ShowDemoWindow(); ImGui::Render(); ImGui_ImplOpenGL3_RenderDrawData(ImGui::GetDrawData()); GameWindow.SwapBuffers(); } // Cleanup ImGui_ImplOpenGL3_Shutdown(); ImGui_ImplGlfw_Shutdown(); ImGui::DestroyContext(); Cube.VAO.Delete(); Cube.elementBuffer.Delete(); } */