Jump to content

SpiderPig

Members
  • Posts

    2,285
  • Joined

  • Last visited

Everything posted by SpiderPig

  1. The attached model is very dark in the model editor. I don't think the materials are wrong as the model appears ok in when dragged into the editor.
  2. Here's a short video on the unstable FPS I'm seeing. https://www.youtube.com/watch?v=Lm7dVy-pqHM
  3. Don't really see a problem with any of these stats. Besides the FPS that is. It gets down to 90 for a second or two then back up to about 200 for a bit. I wish I could use FRAPS to verify the FPS but it doesn't seem to work with ultra. It decided to work now. FRAPS confirms the FPS is correct.
  4. Honestly all I needed it for was to get a valid material ID, but after all objects are rendered and before post effects sounds like it'll work to me. @klepto2 What do you think?
  5. Yeah I'll take a closer look at those and see what they say.
  6. No geometry streaming. Everything is static with default shaders.
  7. I hate to say it, but I'm seeing it a lot slower overall. Actually, it seems 2.5x slower. These shots are in release. In 0.9.5 I've had to remove the skydome due to some shader errors, and the terrain due to it not texturing. The terrain was replaced with a single plane. So 0.9.5 is doing less work but is a lot slower and the grass don't look as good. Also in 0.9.5 I've seen the FPS fluctuate between 120 and 60 FPS like a seesaw even when the camera is still. Scene in 0.9.4: Same scene in 0.9.5:
  8. Maybe a bug - maybe. In this example I see no change in the FPS between debug and release builds. I get a consistent 500 FPS (+/- 10 FPS). I'm seeing this across a few of my smaller projects. I mean, is debug build just that good now or is release slower than it should be? I would've thought there should be at least a small difference being the debugger isn't running in Release - but I've been wrong before. #include "UltraEngine.h" #include "ComponentSystem.h" using namespace UltraEngine; int main(int argc, const char* argv[]) { //Get the display list auto displays = GetDisplays(); //Create a window auto window = CreateWindow("Ultra Engine", 0, 0, 1280, 720, displays[0], WINDOW_CENTER | WINDOW_TITLEBAR); //Create a world auto world = CreateWorld(); world->SetAmbientLight(0); world->RecordStats(); //Create a framebuffer auto framebuffer = CreateFramebuffer(window); //Create a camera auto camera = CreateCamera(world); camera->SetFov(70); camera->SetPosition(0, 50, 0); camera->SetRotation(45, 0, 0); camera->SetClearColor(0.125); //Sunlight auto light = CreateDirectionalLight(world); light->SetRotation(45, 35, 0); light->SetColor(2); //Create terrain auto terrain = CreateTerrain(world, 512, 512, 2048); terrain->LoadHeightmap("https://raw.githubusercontent.com/UltraEngine/Documentation/master/Assets/Terrain/512.r16"); terrain->SetScale(1, 100, 1); //Create base material auto ground = CreateMaterial(); auto diffusemap = LoadTexture("https://raw.githubusercontent.com/UltraEngine/Documentation/master/Assets/Materials/Ground/river_small_rocks_diff_2k.dds"); auto normalmap = LoadTexture("https://raw.githubusercontent.com/UltraEngine/Documentation/master/Assets/Materials/Ground/river_small_rocks_nor_gl_2k.dds"); ground->SetTexture(diffusemap, TEXTURE_BASE); ground->SetTexture(normalmap, TEXTURE_NORMAL); terrain->SetMaterial(ground); //Create paint material auto rocks = CreateMaterial(); diffusemap = LoadTexture("https://raw.githubusercontent.com/UltraEngine/Documentation/master/Assets/Materials/Ground/Rocks_Dirt_Ground_2k.dds"); normalmap = LoadTexture("https://raw.githubusercontent.com/UltraEngine/Documentation/master/Assets/Materials/Ground/Rocks_Dirt_Ground_2k_dot3.dds"); auto dispmap = LoadTexture("https://raw.githubusercontent.com/UltraEngine/Documentation/master/Assets/Materials/Ground/Rocks_Dirt_Ground_2k_disp.dds"); rocks->SetTexture(diffusemap, TEXTURE_BASE); rocks->SetTexture(normalmap, TEXTURE_NORMAL); rocks->SetTexture(dispmap, TEXTURE_DISPLACEMENT); int rocklayer = terrain->AddLayer(rocks); //Apply material based on terrain slope for (int x = 0; x < terrain->resolution.x; ++x) { for (int y = 0; y < terrain->resolution.y; ++y) { float slope = terrain->GetSlope(x, y); if (slope > 15.0f) { float wt = Min((slope - 15.0f) / 10.0f, 1.0f); terrain->SetLayerWeight(rocklayer, x, y, wt); } } } //Camera controls //camera->AddComponent<CameraControls>(); //Main loop while (window->Closed() == false and window->KeyDown(KEY_ESCAPE) == false) { auto stats = world->renderstats; window->SetText("FPS : " + WString(stats.framerate)); world->Update(); world->Render(framebuffer, false); } return 0; }
  9. The addition of a small header fixed the problem, thankyou.
  10. Oh, I get it now. So just anything that Identifiers my binary format.
  11. I know this is probably not on your list yet, but do you think you'll have render hooks working with OpenGL soon?
  12. I'm not fully convinced this issue is solved yet. Should it really take 20 seconds before finally failing to load? How then are we to create plugins for new models types, custom or not, if the stream is not looking at the file extension? At what point does LoadModel look to see if a plugin might have the function it needs to load that extension? If you could please also try this file as it throws an out of bounds error and crashes the program. Test.zip
  13. Yes that was the underlying problem. Fixed now.
  14. Shouldn't it load the file based on the extension type rather than trying to load data from the file first?
  15. Thanks. I'm now seeing that "Unknown chunk in model file" is spamming the output window for about 20 seconds before it finally fails to load. Also the first file in this thread gives a "Seek position out of file bounds error" still.
  16. The error now reads "Failed to make texture 9 bindless. Format: 139" Only took 19 seconds to get the error rather than 5 minutes so that's good.
  17. I got an error! I waited 5 minutes and finally got an error. "Failed to make texture 9 bindless." Call Stack:
  18. I waited 2 minutes but it still hangs at the same place. Call stack is the same as I posted above. Project is up to date and cleaned.
  19. It still hangs in the same place. Project is up to date. This is the call stack when I pause it after a minute or so.
  20. Will test very soon. I just woke up. 🥱
  21. A different error but it might help pinpoint this problem... just simply creating the terrain crashes to "encodeData" or something like that. #include "UltraEngine.h" #include "ComponentSystem.h" using namespace UltraEngine; int main(int argc, const char* argv[]) { //Get the display list auto displays = GetDisplays(); //Create a window auto window = CreateWindow("Ultra Engine", 0, 0, 1280, 720, displays[0], WINDOW_CENTER | WINDOW_TITLEBAR); //Create a world auto world = CreateWorld(); world->SetAmbientLight(0); //Create a framebuffer auto framebuffer = CreateFramebuffer(window); //Create a camera auto camera = CreateCamera(world); camera->SetFov(70); camera->SetPosition(0, 50, 0); camera->SetRotation(45, 0, 0); camera->SetClearColor(0.125); //Sunlight auto light = CreateDirectionalLight(world); light->SetRotation(45, 35, 0); light->SetColor(2); //Create terrain auto terrain = CreateTerrain(world, 512, 512, 2048); //terrain->LoadHeightmap("https://raw.githubusercontent.com/UltraEngine/Documentation/master/Assets/Terrain/512.r16"); //terrain->SetScale(1, 100, 1); //Create base material /*auto ground = CreateMaterial(); auto diffusemap = LoadTexture("https://raw.githubusercontent.com/UltraEngine/Documentation/master/Assets/Materials/Ground/river_small_rocks_diff_2k.dds"); auto normalmap = LoadTexture("https://raw.githubusercontent.com/UltraEngine/Documentation/master/Assets/Materials/Ground/river_small_rocks_nor_gl_2k.dds"); ground->SetTexture(diffusemap, TEXTURE_BASE); ground->SetTexture(normalmap, TEXTURE_NORMAL); terrain->SetMaterial(ground); //Create paint material auto rocks = CreateMaterial(); diffusemap = LoadTexture("https://raw.githubusercontent.com/UltraEngine/Documentation/master/Assets/Materials/Ground/Rocks_Dirt_Ground_2k.dds"); normalmap = LoadTexture("https://raw.githubusercontent.com/UltraEngine/Documentation/master/Assets/Materials/Ground/Rocks_Dirt_Ground_2k_dot3.dds"); auto dispmap = LoadTexture("https://raw.githubusercontent.com/UltraEngine/Documentation/master/Assets/Materials/Ground/Rocks_Dirt_Ground_2k_disp.dds"); rocks->SetTexture(diffusemap, TEXTURE_BASE); rocks->SetTexture(normalmap, TEXTURE_NORMAL); rocks->SetTexture(dispmap, TEXTURE_DISPLACEMENT); int rocklayer = terrain->AddLayer(rocks); //Apply material based on terrain slope for (int x = 0; x < terrain->resolution.x; ++x) { for (int y = 0; y < terrain->resolution.y; ++y) { float slope = terrain->GetSlope(x, y); if (slope > 15.0f) { float wt = Min((slope - 15.0f) / 10.0f, 1.0f); terrain->SetLayerWeight(rocklayer, x, y, wt); } } }*/ //Camera controls camera->AddComponent<CameraControls>(); //Main loop while (window->Closed() == false and window->KeyDown(KEY_ESCAPE) == false) { world->Update(); world->Render(framebuffer); } return 0; }
  22. Um... well the errors gone but I think it's now stuck in a loop or something... currently at 3 minutes at time of posting.
×
×
  • Create New...