-
Posts
516 -
Joined
-
Last visited
Content Type
Blogs
Forums
Store
Gallery
Videos
Downloads
Everything posted by Dreikblack
-
Ground changes nothing. With shadows off memory is very stable (50-60 Mb).
-
I have latest Nvidia drivers, Checked your compiled version on another PC with W10 and RTX 2070 with relatively old drivers - no memory issue there
-
I will try that later, they should not be too outdated tho. Also i will test it on other PC with RTX 2070.
-
Ah, lighttest.zip? Ran it, same mem leak
-
Which .exe? Nothing in pm. Tried only this soft
-
Nope, same thing in this Process Explorer. Like i said already few times after some moment fps starts lowering very noticeable (even turn based game becomes barely playable) in my game when memory usage reach 6 Gb and more and the only thing that changes overtime is mem usage. Later i can try to wait enough in this example to see if fps start drops as well. Which card did you use for testing? Maybe it's NVIDIA related bug this time.
-
How to make entities in editor not being instances?
Dreikblack replied to Dreikblack's topic in General Discussion
void MakeModelUnique(shared_ptr<Model> model) { vector<shared_ptr<Mesh>> copiedMeshes; for (auto& lod : model->lods) { for (auto& mesh : lod->meshes) { copiedMeshes.push_back(mesh->Copy()); break; } } model->Clear(); for (auto& mesh : copiedMeshes) { model->AddMesh(mesh); } } -
And now it's just incorrect meanwhile real issue still there
-
In task manager it's lower in total but increases with same high speed all time (in debug mode as well). Take in mind it keep happening no matter how long i wait without stabilizing NVIDIA card btw
-
In my game with on level with many objects memory was increasing pretty fast and fps starts lowering at some point even if nothing happens. In example with single light in release mode memory usage increased for me from 150 to 300 for 5 mins, With more lights and more fps (vsync off and maybe release mode as well) this happens much faster - around 10 Mb per seconds. #include "UltraEngine.h" using namespace UltraEngine; int main(int argc, const char* argv[]) { auto displays = GetDisplays(); auto window = CreateWindow("Ultra Engine", 0, 0, 1280, 720, displays[0], WINDOW_CENTER | WINDOW_TITLEBAR); auto framebuffer = CreateFramebuffer(window); auto world = CreateWorld(); world->RecordStats(true); auto camera = CreateCamera(world); camera->SetClearColor(0.125); camera->SetFov(70); camera->Move(0, 2, -8); auto ground = CreateBox(world, 20, 1, 20); ground->SetPosition(0, -0.5, 0); ground->SetColor(0, 1, 0); vector<shared_ptr<PointLight>> lights; for (int i = -10; i < 10; i++) { auto light = CreatePointLight(world); lights.push_back(light); light->SetPosition(i, 0, 0); } //Main loop while (window->Closed() == false and window->KeyHit(KEY_ESCAPE) == false) { world->Update(); world->Render(framebuffer, false); window->SetText("FPS: " + String(world->renderstats.framerate) + " RAM: " + WString(GetMemoryUsage() / 1024)); } return 0; }
-
Need to apply different mats to different entities with same model. Since i'm using Quake models making another model file with new mat is not an option
-
Tried: GetComponent("Mover") GetComponent(Mover) GetComponent<Mover>() This example also not working https://www.ultraengine.com/learn/Entity_GetComponent?lang=lua require "Components/Motion/Mover" --Get the displays local displays = GetDisplays() --Create a window local window = CreateWindow("Ultra Engine", 0, 0, 1280, 720, displays[1], WINDOW_CENTER | WINDOW_TITLEBAR) --Create a framebuffer local framebuffer = CreateFramebuffer(window) --Create a world local world = CreateWorld() --Create a camera local camera = CreateCamera(world) camera:SetClearColor(0.125) camera:SetPosition(0, 0, -2) --Create a light local light = CreateBoxLight(world) light:SetRotation(45, 35, 0) light:SetColor(2) light:SetRange(-5, 5) --Create a model local box = CreateBox(world) box:SetColor(0,0,1) --Add a component for automatic motion local component = box:AddComponent(Mover) component.rotationspeed.y = -2 box.mover.rotationspeed.x = 2 local componentTest = box:GetComponent("Mover") if (componentTest ~= nil) then Print("Success") end while window:KeyDown(KEY_ESCAPE) == false and window:Closed() == false do --Update the world world:Update() --Render the world to the framebuffer world:Render(framebuffer) end
-
#include "UltraEngine.h" using namespace UltraEngine; int main(int argc, const char* argv[]) { auto displays = GetDisplays(); auto window = CreateWindow("Ultra Engine", 0, 0, 1280, 720, displays[0], WINDOW_CENTER | WINDOW_TITLEBAR); auto framebuffer = CreateFramebuffer(window); auto world = CreateWorld(); auto camera = CreateCamera(world); camera->SetClearColor(0.125); camera->SetFov(70); camera->Move(0, 2, -8); auto ground = CreateBox(world, 20, 1, 20); ground->SetPosition(0, -0.5, 0); ground->SetColor(0, 1, 0); auto light = CreatePointLight(world); //Main loop while (window->Closed() == false and window->KeyHit(KEY_ESCAPE) == false) { world->Update(); world->Render(framebuffer); if (window->KeyHit(KEY_SPACE)) { light = nullptr;//crash } } return 0; }
-
atm only way to pass args to component Input seems to be using Connect() which could be used only in code for specific components. Output should pass to Input args for flow-graph flexibility. For example i would be able to pass a unit component from trigger to teleport exit
-
GetEntitiesInArea finds prefabs which are beyond area
Dreikblack replied to Dreikblack's topic in Bug Reports
Probably related to point lights, no problems with other prefabs so far -
Prefab: WallLight3.zip #include "UltraEngine.h" using namespace UltraEngine; int main(int argc, const char* argv[]) { auto displays = GetDisplays(); auto window = CreateWindow("Ultra Engine", 0, 0, 1280, 720, displays[0], WINDOW_CENTER | WINDOW_TITLEBAR); auto world = CreateWorld(); auto framebuffer = CreateFramebuffer(window); auto camera = CreateCamera(world); camera->SetClearColor(0.125); camera->SetPosition(0, 0, -3); auto light = CreateBoxLight(world); light->SetRotation(45, 35, 0); light->SetRange(-10, 10); light->SetColor(2); auto prefab = LoadPrefab(world, "WallLight3.pfb"); Vec3 realPosition(10, 0, 10); float radius = 0.8f; Vec3 positionLower = realPosition; positionLower.x = positionLower.x - radius; positionLower.z = positionLower.z - radius; positionLower.y = positionLower.y - radius; Vec3 positionUpper = realPosition; positionUpper.x = positionUpper.x + radius; positionUpper.z = positionUpper.z + radius; positionUpper.y = positionUpper.y + radius; for (auto& foundEntity : world->GetEntitiesInArea(positionLower, positionUpper)) { Print(foundEntity->name + " found"); } //Main loop while (window->Closed() == false and window->KeyDown(KEY_ESCAPE) == false) { world->Update(); world->Render(framebuffer); } return 0; }
-
Try to rename or delete a grid01.dds file (probably applies to any file) from project and add it to ignore list My current list: $PROJECTNAME.props, $PROJECTNAME.sln, $PROJECTNAME.vcxproj, $PROJECTNAME.vcxproj.filters, main.cpp, projecticon.svg, projecticon.ico, start.ultra, checkerboard.dds, custom.mat, dirt01.dds, dirt01.mat, dirt01_height.dds, dirt01_normal.dds, CameraControls.h, CameraControls.cpp, CameraControls.json
-
Drag'n'drop for material applying does not work after last update
Dreikblack replied to Dreikblack's topic in Bug Reports
Also i can't even drag a model to scene now -
-
No option in scene tree to add an entity to flowgraph
Dreikblack replied to Dreikblack's topic in Bug Reports
Found that drag and drop works but not for copied entities (at least if original entity was in flowgraph already). Also sometimes elements appears at bottom of flowgraph view