Jump to content

Dreikblack

Members
  • Posts

    516
  • Joined

  • Last visited

Everything posted by Dreikblack

  1. Ground changes nothing. With shadows off memory is very stable (50-60 Mb).
  2. 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
  3. I will try that later, they should not be too outdated tho. Also i will test it on other PC with RTX 2070.
  4. Ah, lighttest.zip? Ran it, same mem leak
  5. Which .exe? Nothing in pm. Tried only this soft
  6. 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.
  7. 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); } }
  8. And now it's just incorrect meanwhile real issue still there
  9. 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
  10. 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; }
  11. 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
  12. 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
  13. #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; }
  14. 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
  15. Could be related to another bug that i have before crash - after scaling one brush it lost material texture and reapplying did not work
  16. Dragging entities to group is not convenient if Scene have a lot of entities. Copied entities should be in same group as original entity.
  17. Probably related to point lights, no problems with other prefabs so far
  18. 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; }
  19. 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
  20. Steam beta branch 1. Create brush 2. Drag a material for project tree to brush 3. Brush still have old material and just created brushes already have some random material
  21. 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
  22. Only way to select such entity is a scene tree. btw trigger zone have no outline when selected in start.ultra example map
×
×
  • Create New...