Jump to content

Canardia

Developers
  • Posts

    4,133
  • Joined

  • Last visited

Recent Profile Visitors

39,996 profile views

Canardia's Achievements

Enthusiast

Enthusiast (6/14)

  • Very Popular
  • Dedicated
  • Reacting Well
  • Conversation Starter
  • First Post

Recent Badges

44

Reputation

3

Community Answers

  1. I'm trying to create a cone which has a base from a inverted cone which has its top cut off. My idea was to put a cube around those 2 parts and carve them out of the cube (step 1) to create a mold for the final combined model. Finally I would use the mold to carve out the two united cone object (step 2) from another cube. However, the Editor crashes at step 1. Attached is the map with the cones and cube. player.7z
      • 1
      • Thanks
  2. I found a workaround which is actually better than having a thin title bar: int w = 1920; int h = 1080-48; auto style = (WindowStyles)0x00000000L;
  3. The thing is, I don't need to resize the window, I only want it be in maximized mode when it's created. In maximized mode the title bar gets thinner.
  4. Is there any other way to maximize a window, like pressing the maximize button on title bar? I need it only once when the window is created, before I create the framebuffer. It should look like this (the windows 11 titlebar is visible below the window):
  5. Without the WINDOW_RESIZABLE it works: int w = 1920/2; int h = 1080/2; auto style = WINDOW_CENTER | WINDOW_TITLEBAR | WINDOW_RESIZABLE;
  6. I bought Ultra Engine Pro (when Leadwerks 5 was not published yet) without the need for Steam. Just a direct, standalone product which works forever. I think it was possible via the Ultra Client, and I don't know how you would do that nowadays.
  7. Yes, you can use the Steam API in Ultra with Lua, with it you can send and receive any data between players or server: https://www.ultraengine.com/learn/Steamworks_CreateLobby?lang=lua
  8. #include "UltraEngine.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 * displays[0]->scale, 720 * displays[0]->scale, displays[0], WINDOW_CENTER | WINDOW_TITLEBAR); // Create a framebuffer auto framebuffer = CreateFramebuffer(window); // Create a world auto world = CreateWorld(); // Let there be light and a ship auto camera = CreateCamera(world); camera->Move(0, 20, -20); camera->Turn(30, 0, 0); auto ship = CreateBoxBrush(world, 10, 10, 10); auto light = CreatePointLight(world, 100); light->Move(0, 20, 0); // Slice the dice Plane plane = Plane(0,0,1,0); auto A = CreateBrush(world); auto B = CreateBrush(world); // comment the next line out if you don't want a crash ship->Move(0, 0, 50); // cash me ousside howbow dah ship->Slice(plane, A, B); ship = B->Copy(world, false, false)->As<Brush>(); // Move the sliced result right ship->Move(20, 0, 0); // Main loop while (!window->Closed() and !window->KeyDown(KEY_ESCAPE)) { world->Update(); world->Render(framebuffer); } return 0; }
  9. I'm not a cylinder!
  10. Ok, problem fixed, but I still wonder why this worked with CopyTo: Factory::Factory(A<World> world) { //world = world; // works only with CopyTo this->world = world; // works } Anyway, case closed.
  11. I made an example and now it works. Something wrong in my Factory class must be. #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 * displays[0]->scale, 720 * displays[0]->scale, displays[0], WINDOW_CENTER | WINDOW_TITLEBAR); // Create a framebuffer auto framebuffer = CreateFramebuffer(window); // Create a world auto world = CreateWorld(); // Let there be light and a ship auto camera = CreateCamera(world); camera->Move(0, 20, -20); camera->Turn(30, 0, 0); auto ship = CreateBoxBrush(world, 10, 10, 10); auto light = CreatePointLight(world, 100); light->Move(0, 20, 0); // Slice the dice auto pivot = CreatePivot(world); pivot->Turn(0, -60, 45); Vec3 normal = pivot->rotation.Normalize(); Plane plane = Plane(normal.x, normal.y, normal.z, 4); auto A = CreateBrush(world); auto B = CreateBrush(world); ship->Slice(plane, A, B); //B->CopyTo(ship, 0); // Works beautifully! ship = B->Copy(world,false,false)->As<Brush>(); // Let's slice again like we did last summer pivot = CreatePivot(world); pivot->Turn(-60, -60, -45); normal = pivot->rotation.Normalize(); plane = Plane(normal.x, normal.y, normal.z, 4); A = CreateBrush(world); B = CreateBrush(world); ship->Slice(plane, A, B); //B->CopyTo(ship, 0); ship = B->Copy(world,false,false)->As<Brush>(); // Now this works too, hmm back to the drawingboard // Move the sliced result right ship->Move(20, 0, 0); // Main loop while (window->Closed() == false and window->KeyDown(KEY_ESCAPE) == false) { world->Update(); world->Render(framebuffer); } return 0; }
  12. #include "PreComp.h" #include "Factory.h" Factory::Factory(A<World> world) { world = world; ship = CreateBoxBrush(world, 10, 10, 10); ship->Move(0, 0, 0); } void Factory::Cut(double x, double y, double z) { auto pivot = CreatePivot(world); pivot->Turn(x,y,z); Vec3 normal = pivot->rotation.Normalize(); Plane plane = Plane(normal.x, normal.y, normal.z, 4); A<Brush> A, B; A = CreateBrush(world); B = CreateBrush(world); ship->Slice(plane, A, B); B->CopyTo(ship, 0); //ship = B->Copy(world,false,false)->As<Brush>(); } Then in Application.cpp (main.cpp): Factory factory(world); factory.Cut(0, -60, -45); factory.Cut(-60, -60, -45); ship = factory.ship;
  13. The ship vanishes.
  14. But this doesn't work: //B->CopyTo(ship, 0); // works ship = B->Copy(world,false,false)->As<Brush>(); // doesn't work
  15. This fixed it, thanks! B->CopyTo(ship, 0);
×
×
  • Create New...