fixed some minor issues

This commit is contained in:
2026-02-02 07:41:31 +01:00
parent 9b7b9166e5
commit b6c623efbb
3 changed files with 58 additions and 42 deletions

View File

@@ -3,8 +3,8 @@
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/DemoProject/include",
"${workspaceFolder}/DemoProject/src",
"${workspaceFolder}/TSE-RTS/include",
"${workspaceFolder}/TSE-RTS/src",
"${workspaceFolder}/TSE/TSE_Base/include",
"${workspaceFolder}/TSE/TSE_Base/src",
"${workspaceFolder}/TSE/TSE_Core/include",

2
TSE

Submodule TSE updated: 236da3059f...2f3fdf83ae

View File

@@ -15,66 +15,82 @@
#include "elements/Scene.hpp"
#include "EditorSubsystem.hpp"
#define USE_EDITOR
using namespace TSE;
using namespace TSE::GLFW;
using namespace TSE::EDITOR;
int main(int argc, char** argv)
IWindow* wnd = nullptr;
DefaultRendererOpenGL* rend = nullptr;
Scene* currentScene = nullptr;
Layer* planeteryLayer = nullptr;
EditorSubsystem* editor;
void SetupWindow()
{
IWindow* wnd = new WindowGlfw("DemoProject", 600, 400, new OpenGLRenderingBackend(Color::aqua, false, 4, true));
EditorSubsystem editor;
LoadBasicShaders(600, 400);
DefaultRendererOpenGL rnd = DefaultRendererOpenGL(*BasicShader::Instance());
Color backColor(0.0571f, 0.0819f, 0.1043f);
#ifdef USE_EDITOR
wnd = new WindowGlfw(PROJECT_NAME, 800, 600, new OpenGLRenderingBackend(backColor, false, 8, true), WindowType::Maximized);
editor = new EditorSubsystem();
#else
wnd = new WindowGlfw(PROJECT_NAME, 800, 600, new OpenGLRenderingBackend(backColor, false, 8, false), WindowType::Maximized);
#endif
LoadBasicShaders(wnd->GetSize().x, wnd->GetSize().y);
#pragma region obj1
Transformable* obj1 = new Transformable("testObj");
RectBase rb = RectBase();
obj1->AddBehaviourScript(&rb);
Material mat = Material("testMat", BasicShader::Instance());
mat.SetValue<Color>("mainColor", Color::black);
Renderable r = Renderable(&mat);
obj1->AddBehaviourScript(&r);
obj1->position = Vector3(0,0,0);
obj1->scale = Vector3(8,1,1);
rend = new DefaultRendererOpenGL(*BasicShader::Instance());
currentScene = new Scene();
#pragma endregion
Layer game("game");
game.AddTransformable(obj1);
Scene scene;
scene.AddLayer(&game);
scene.AddLayer(&editor.editorLayer);
#ifdef USE_EDITOR
currentScene->AddLayer(&editor->editorLayer);
editor->hv.SetScene(currentScene);
#endif
}
//((Camera*)(editor.editorLayer.GetAllObjects()[0]->GetBehaviourScriptAt(0)))->SetRenderTarget(wnd);
void CleanUp()
{
#ifdef USE_EDITOR
delete(editor);
#endif
editor.hv.SetScene(&scene);
UnLoadBasicShaders();
}
void GameLoop()
{
while(!wnd->ShouldClose())
{
wnd->Clear();
rnd.Begin();
rend->Begin();
scene.Render(rnd, *wnd);
if(currentScene != nullptr)
currentScene->Render(*rend, *wnd);
rnd.End();
rnd.Flush();
rend->End();
rend->Flush();
scene.DoneRender();
if(currentScene != nullptr)
currentScene->DoneRender();
//editor.sv.Render();
editor.controller.Update();
//ImGui::ShowDemoWindow();
#ifdef USE_EDITOR
editor->controller.Update();
#endif
wnd->Update();
scene.Update();
if(currentScene != nullptr)
currentScene->Update();
}
UnLoadBasicShaders();
Transformable::DeleteAll();
}
int main(int argc, char** argv)
{
SetupWindow();
GameLoop();
CleanUp();
return 0;
}