Jump to content

Lupin

Developers
  • Posts

    24
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Lupin's Achievements

Rookie

Rookie (2/14)

  • Reacting Well
  • Collaborator
  • First Post
  • Conversation Starter
  • Week One Done

Recent Badges

7

Reputation

  1. Thanks for the explanation, I feel embarrassed that I haven't followed the news for a while. I watched the video, it's great stuff and I'm really glad that the engine went in this direction.
  2. Really? A nice surprise, I must have missed some memo... ;-) Is this currently the default backend or only for Intel/AMD? My point is that I would personally prefer OGL on NVidia as well due to the pre-GTX 9xx models (if it were possible, OGL 4.6 is supported from 14-year old 4xx).
  3. Maybe I missed something, so I would like to ask if Ultra, in addition to Vulkan, has a planned OpenGL 4.6 backend ? I wouldn't have bothered you with this question if I hadn't noticed the mention in the thread: Personally I think that such an "legacy" backend would be a reasonable addition. This would provide the potential ability to run applications on a wider hardware base, so engine would therefore be an solution not only for games requiring high performance, but also for casual indie games, including retro-style. Anyway, if this is indeed the plan, would it be possible in future to select/force the engine to use a specific backend on initialization (something like: use OpenGL, Vulkan or Auto/default)?
  4. Where's the best place to report minor mistakes in the documentation - here, on the forum (in bug thread?) or on GitHub? So far, I noticed that according to the documentation, functions that create lights return nothing (which can be confusing). void CreateBoxLight(...) void CreateSpotLight(...) void CreateDirectionalLight(...) While the one below is described correctly: shared_ptr<PointLight> CreatePointLight(...)
  5. Lupin

    Revised Object Dialog

    Would it be possible to add "select mode" (arrow icon/cursor)? Sometimes when I just only want to mark on an object to edit its properties, I accidentally move, rotate or scale it.
  6. Tahnks for replies. After reading, I realized that instead of describe the problem, I wrote an observation, that I (mistakenly) thought explained the source of the problem. A potential bug, as correctly described Dreikblack, is that: Once a window has been created, it cannot be physically closed other than by completely terminating the program. I think this is a minor, low priority thing, but could be looked into at some point. Or maybe there is a workaround? #include "UltraEngine.h" #include <iostream> #include <chrono> #include <thread> using namespace UltraEngine; void RunTestProc() { auto window = CreateWindow("Ultra Engine", 0, 0, 800, 600, GetDisplays()[0], WINDOW_CENTER | WINDOW_TITLEBAR); auto world = CreateWorld(); auto framebuffer = CreateFramebuffer(window); auto camera = CreateCamera(world, PROJECTION_ORTHOGRAPHIC); while (window->Closed() == false and window->KeyDown(KEY_ESCAPE) == false) { world->Update(); world->Render(framebuffer); } window->FlushKeys(); window->FlushMouse(); FlushEvents(); std::cout << "before exit func window.use_count = " << window.use_count() << std::endl; } int main(int argc, const char* argv[]) { RunTestProc(); // theoretically there are no user object references left at this point, so the window should be closed ? // but it is still open, although non - functional. std::this_thread::sleep_for(std::chrono::milliseconds(1000)); // just to be sure... Print("\nCan you still see the window?\n"); system("pause"); return 0; } It seems to me that some resources are not being deleted, even though all user-created references have gone out of scope. Perhaps they are what keep the window alive?
  7. The reference counter in smart_ptr<Window> increments with each input event, e.g. mouse movement, key presses, etc. Seems like, it stops after reaching the number of 1005 references (the program continues to work normally). This doesn't seem to be a problem, but it may be a sign that there is an small bug somewhere? You can check this by adding inside the render loop: window->SetText(WString(window.use_count())); Latest dev build, checked on Debug and Release. I didn't notice anything similar with other objects.
  8. Lupin

    Beta update available

    Tumira, I experienced frame jerks on similar hardware setup. In my case, I noticed that with VSync ON, one of the 8 processor cores still uses near 100% (while others at 0%). I solved the problem by setting DISABLE "Multithread Optimization" in Nvidia control panel. Now, when VSync is enabled, at 60 fps every core is utilized near 0% (well, maybe bit more), and single-threaded OpenGL apps like Leadwerks runs far smoother, without any jerking. I hope this helps maybe in your case too.
  9. I think there will be some basic intellisense, at least for API LE3. See here: http://www.leadwerks.com/werkspace/page/gallery/_/intellisense-and-breakpoints-r111
  10. Lupin

    Icing on the Cake

    In 3DWS in vertex mode you can also select and move edges by clicking and dragging the yellow edge tabs. I think here it's the same - easy and intuitive way.
  11. That great news! Could you possibly clarify: these estimated timeframe are for final, public release? Or rather beta version (or pre-release, pre-alpha, etc..) - eg. for testing by current users?
  12. Lupin

    Totally Tubular

    Amazing news. As an old user of 3D World Studio I simply love these new features. And I can't wait for the day when I can check them out in practice. One question - Do you anticipate the possibility of of converting a group of brushes into the model (mesh) within editor? This could be useful as an option to create prefabs.
  13. Lupin

    Smooth Move

    so, when it comes to human experimentation (pre-alpha build or something), I'm ready And, If I could have a small request: Current 3DWS 5.x has "texture lock" feature, that works globally - on all scene brushes. Whether it would be possible to add a flag "lock UV" at the brush level ? I mean bitwise flag (similar to smoothing groups concept) for preventing UV changes on scale / rotation / position for selected brushes?
  14. Witawat, If I correctly understand, you try to make executable by compiling API header file only, right ? Wrong way. Look at my answer to your post in 3D Artwork section, I hope this helps.
  15. witawat, If You are asking about programming, do it rather at "Programming" section, please. Starter Kit contains ready to compile and run examples (commented Pascal source code) generally only for beginners (beginners on LE, not in programming...). Most examples are based on official tutorials, so, for full understanding, you should start from these documents and videos: http://www.leadwerks...e2/_/tutorials/ Official tutorials are written with C++, so for fast startup with Pascal, use corresponding code from "LE2 Starter Kit for Delphi and FreePascal". For example: if you analyze "Making a spectator" tutorial, use "MakingASpectator.pas" as Pascal syntax reference for this tutorial. And now, step-by-step instruction how to make simple program in Lazarus for loading scene file created in Editor. 1. Create new folder and copy header files here (LEUtils.pas, LECore.pas, LEObjects.pas). 2. Open Lazarus IDE. 3. Make new project (File->New->Console application), then [Cancel] on creator window. 4. Replace code in source editor window (copy-paste from here): program project1; {$MODE DELPHI} uses LEUtils, LECore, LEObjects; var // Entities lua : Pointer; fw : TFramework; camera : TCamera; // Camera moving and rotation variables camrotation : TVec3; mx, my : Single; move, strafe : Single; begin // Initialization RegisterAbstractPath (''); Graphics(800,600); HideMouse; MoveMouse (GraphicsWidth div 2, GraphicsHeight div 2); // Setup framework fw := CreateFramework; lua := GetLuaState; lua_pushobject(lua,fw); lua_setglobal(lua,'fw'); lua_pop(lua,1); fw.SetHDR(1); fw.SetBloom(1); // Create player camera camera := fw.Main.Camera; camera.SetPosition(-4,2,0); // Load a scene created in editor LoadScene('abstract::tunnels.sbx'); // Startup camera transformation values with camrotation do begin X:=0; Y:=0; Z:=0; end; mx:=0; my:=0; move:=0; strafe:=0; // Main loop while (not AppTerminate) and (KeyHit(KEY_ESCAPE)=0) do begin // Camera mouse look mx:=Curve(MouseX-GraphicsWidth/2,mx,6); my:=Curve(MouseY-GraphicsHeight/2,my,6); MoveMouse (GraphicsWidth div 2, GraphicsHeight div 2); camrotation.x := camrotation.x+my/10; camrotation.y := camrotation.y-mx/10; camera.SetRotation(camrotation); // Camera movement WASD move := Curve(KeyDown(KEY_W)-KeyDown(KEY_S),move,20); strafe := Curve(KeyDown(KEY_D)-KeyDown(KEY_A),strafe,20); camera.Move(Vec3(strafe/10,0,move/10)); // Render by framework fw.Update; fw.Render; Flip; end; end. By the way, no offense, but if you don't understand what these commands do, try start from analyzing tutorials and documentation. 5. Save project in folder created on step 1. 6. Build project (Run->Build or Ctrl+F9). In messages window you should see "Project "project1" successfully built" 7. Copy "project1.exe" file from project folder to your Leadwerks Engine root folder (where Editor.exe and engine.dll exists). 8. Run project1.exe from engine root folder. Now you should see tunnels scene (and you can fly around: mouse + WASD). You could try loading your own scene (instead "tunnels.sbx"). In next step you can extending this project by programming some gameplay. I hope this helps.
×
×
  • Create New...