Jump to content

Multiple Windows with 3D UI?


SpiderPig
 Share

Recommended Posts

The editor does it, so it should be possible. Do you need different worlds? 

with one world I would create multiple cameras and rendertargets. And draw a panel in each window with the correct texture applied to it.

i will come back with a sample in a few minutes. 

  • Thanks 1
  • Windows 10 Pro 64-Bit-Version
  • NVIDIA Geforce 1080 TI
Link to comment
Share on other sites

That's what I was thinking too.  Though it seems a panel can only have texture assigned to it if the interface has been created with a world and I can't get two interfaces working with one world.  I can create another world for this purpose but I need two framebuffers, one for each window, and that dosn't work very well.

Link to comment
Share on other sites

So far the only way I can get something to work is by rendering a camera to a texture buffer, then taking a snapshot of that buffer per frame and setting the resulting pixmap to the panel.  Dreadfully slow, but no extra framebuffer required.  I may have to be satisfied with just one window then.  :(

Link to comment
Share on other sites

I have tried some approaches, but none of them is satisfying. I have an approach where i share the world between windows, but only create standalone ui_worlds. This is still laggy and i guess as Josh stated comes from the culling thread. For plane ui rendering it should be possible to disable culling on a camera or world at all. This would resolve this issue i think.

  • Windows 10 Pro 64-Bit-Version
  • NVIDIA Geforce 1080 TI
Link to comment
Share on other sites

What are you trying to do that requires this? This design seems very strange and does not sound like any 3D application I have ever seen.

The editor renders to multiple framebuffers, but rendering performance is not much of a concern because it is not a real-time app. Additionally, it disables asynchronous rendering in the engine initialization settings, which gives it overall slower rendering performance (if it was continuously rendering, which it is not), but lower latency, so it is more responsive to user input.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

I'm using Ultra as a simulator for a A.I that will eventually be deployed to physical hardware.  I just wanted a few diagnostic screens that represented data in a few real-time 3D viewports.  But I think there are other ways I can achieve similar results.  Multiple 3D windows was just the preferred option.  Ultimately, if a panel could have a texture assigned without being a 3D interface, that would work best.

9 hours ago, klepto2 said:

I have tried some approaches, but none of them is satisfying. I have an approach where i share the world between windows, but only create standalone ui_worlds. This is still laggy and i guess as Josh stated comes from the culling thread. For plane ui rendering it should be possible to disable culling on a camera or world at all. This would resolve this issue i think.

Thanks for giving it a try.  :)

Link to comment
Share on other sites

You can disable asynchronous rendering like the editor does, use a 2D GUI, or make the extra display windows a separate process and communicate with them through UDP or some other method.

  • Thanks 1

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

  • SpiderPig changed the title to Multiple Windows with 3D UI?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...