Jump to content

Josh

Staff
  • Posts

    24,629
  • Joined

  • Last visited

Everything posted by Josh

  1. So you want to get the file path the user selects? Or do you want to override the file requester with your own? Or just add some additional extensions to the dialog? This is how the code works: else if (text == "Open") { auto filter = GetFilePattern(FILECATEGORY_SCENE); auto file = RequestFile(L"Open File", CurrentDir() + L"/Maps/", filter, 10000); if (not file.empty()) { The get file pattern function creates the file pattern string for a category of files. For textures, it will iterate through the loaded plugins and return a file pattern that includes all of them, plus the natively supported format DDS and RAW. For maps (FILECATEGORY_SCENE) the routine just returns a hard-coded string for Ultra maps and Leadwerks maps. I have not yet thought about how additional scene loading formats should be handled.
  2. Fixed bug in brush picking routine that could cause the face edit tool to crash in editor. Standalone is updated on the dev channel, Steam build will be updated tomorrow.
  3. Fixed in build 333+. Standalone is updated now.
  4. As far as I know, PDB files are not required.
  5. I agree. Right now this forum does not have a full page yet, but once it gets more content some subdivision will be necessary.
  6. If you are using the face tool, I found a problem. I changed the way brush raycasting works to fix the normals not being returned in the pick info, but this causes a new issue, now the face index is not being returned, which the face tool in the editor relies on. I need to redo the picking routine using a Newton collision tree. This will handle the pick normal, face index, and support picking with a radius (sphere casting). I'll probably have a fix for this up tomorrow.
  7. I will upload an update tomorrow. It's a little bit late in the day and I'd rather do it when there are many hours left.
  8. In this video we will learn about PBR lighting, environment probes, re-projected reflections, and how all they all work together to build a rendered image.
  9. Hmmm, I think this one might be a popular one...
  10. Are there any error messages in the console at the bottom of the editor window?
  11. If you have any problems please upload the terrain heightmap you are using so I can try it.
  12. I'm thinking in the future we will probably bring back the Downloads app for this site, with a focus on extensions and plugins, and leave the 3D models to third-party sites like Sketchfab that already have a lot of ready to use models available. The Invision web API can be used to browse and download this content. That system can be set up to automatically generate a support topic when an item is uploaded in the system, so all discussion can occur in that thread. With that information in mind, are you suggesting creating a new forum section divided into subforums, like this?: https://www.ultraengine.com/community/forum/87-platforms/
  13. There is a Load button in the terrain panel. You must have a terrain selected for it to know which terrain to apply the heightmap to.
  14. I will search for this today...
  15. I will look around. It must have been from 2013 or earlier...
  16. Do you know what year? It was on our website and not on Steam, right?
  17. Ultra uses backslashes in file names, for future consistency with Linux and Mac, and because it is easier to type "/" then to always remember to use a double forward slash in your code "\\". This normally works with no issues, but can cause a problem with some Win32 API commands, so you can just switch it to a Windows path like so: s = s.Replace("/", "\\") The Ultra API commands will treat back and forward slashes the same, so it's okay to mix them and it only matters for aesthetics.
  18. Hi, do you know what version you bought?
  19. Thank you for your ideas. I want to make the workflow the best for you all.
  20. It will work if you just lower-case the word "posteffect" in the FX file. This is not your fault, the properties used to be camel-cased during beta testing. { "posteffect": { "buffers": [ { "size": [ 0.25, 0.25 ] } ], "subpasses": [ { "samplers": [ "DEPTH", "PREVPASS" ], "shader": { "float32": { "fragment": "Shaders/Outline.frag.spv" } } } ] } }
  21. The engine does resave the ultra.json file often, where all the project settings are stored, but at this time it seems very stable. It's just a JSON file, so if new data is added in a newer engine version it will still be backwards compatible with older builds, unless there was some really huge change I can't imagine right now.
  22. Wait, what is the problem? I can see an outline in your screenshot above, and this code works for me: #include "UltraEngine.h" #include "ComponentSystem.h" using namespace UltraEngine; int main(int argc, const char* argv[]) { //Get the displays 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(); //Create a framebuffer auto framebuffer = CreateFramebuffer(window); //Create a camera auto camera = CreateCamera(world); camera->SetClearColor(0.125); camera->SetFov(70); camera->SetPosition(0, 0, -3); //Create a light auto light = CreateBoxLight(world); light->SetRotation(35, 45, 0); light->SetRange(-10, 10); //Create a box auto box = CreateBox(world); //------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------ //Render to texture box->SetRenderLayers(1 + 2); auto cam2 = CreateCamera(world); cam2->SetClearColor(0, 0, 0, 0); cam2->SetRenderLayers(2); cam2->SetFov(camera->GetFov()); cam2->SetMatrix(camera->matrix); cam2->AddPostEffect(LoadPostEffect("Shaders/Outline.fx")); auto sz = framebuffer->GetSize(); auto texbuffer = CreateTextureBuffer(sz.x, sz.y); cam2->SetRenderTarget(texbuffer); //Display overlay auto sprite = CreateSprite(world, sz.x, sz.y); sprite->SetColor(0, 1, 1, 1); sprite->SetRenderLayers(4); auto mtl = CreateMaterial(); sprite->SetMaterial(mtl); mtl->SetTransparent(true); mtl->SetTexture(texbuffer->GetColorAttachment()); auto cam3 = CreateCamera(world, PROJECTION_ORTHOGRAPHIC); cam3->SetClearMode(CLEAR_DEPTH); cam3->SetRenderLayers(4); cam3->SetPosition(sz.x * 0.5f, sz.y * 0.5f, 0); //------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------ //Main loop while (window->Closed() == false and window->KeyDown(KEY_ESCAPE) == false) { box->Turn(0, 1, 0); world->Update(); world->Render(framebuffer); } return 0; } The edge border is more narrow than I think it was in previous builds, but that can be changed by editing "Source/Shaders/PostEffects/Outline.frag": const int m = 1; What am I missing, is the problem the outline color not matching the entity color?
  23. This may be happening because the brush is no longer a convex hull...it's being turned into a concave shape.
×
×
  • Create New...