• 1
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
 
TomSmith
Posts: 15
Joined: 31 Mar 2014, 22:23

Re: NoesisGUI Unreal Engine 4 Plugin

31 Oct 2014, 19:21

once you have the RT and RTV you should be able to cache these and use them each frame.

The RHI is designed to hide the implementation of the RHI from user code, this is so you could swap in ogl, dx etc and the user code should not know the difference. All you should have access to is the base FDynamicRHI class, which you call blindly, in the case of DX11 this then does the appropriate dx bits under the hood.

The exception to the above is getting the dx11 device for starting up noesis. In this case there is a patch to FDynamicRHI that adds FDynamicRHI::GetNativeInterface() that should return the dx11 device, not sure if its in the main release but it was submitted a while back by the coherent team. (https://github.com/CoherentUE4/UnrealEn ... a7e6edcc58)
This technically breaks isolation, but saves you from having to do everything with RHI code changes.

I probably didn't make things clear in my previous post, but RHISetRenderTargets and CommitRenderTargetsAndUAVs are members of the base class FDynamicRHI, which you should be able to get hold of a reference to using the GDynamicRHI global. You shouldn't need to cast this to ID3D11DynamicRHI, but I would assume doing so is possible (although if you can avoid doing so you make supporting opengl in noesis easier).

you probably need to call RHIDiscardRenderTargets after noesis has rendered to unbind things and clean up

Also not sure about threading in this scenario, you might need to use delegates to ensure that code executes on the render thread. might be worth looking up the ENQUEUE_UNIQUE_RENDER_COMMAND macro if you haven't done so already.
 
User avatar
Erio
Topic Author
Posts: 81
Joined: 06 Feb 2013, 17:30
Location: Orléans/France

Re: NoesisGUI Unreal Engine 4 Plugin

03 Nov 2014, 03:27

Thanks for your advices.

I have been aware of the pull request that has been made by the Coherent UI team as I am currently using it in the module main class to initialize NoesisGUI.

Also, thanks for your explanations about FDynamicRHI. It seems that i did not need to cast it.
It only makes the access to CommitRenderTargetsAndUAVs completely impossible. Even on a FD3D11Dynamic it's only a protected function that I cannot call. It's probably being called already as I think this does only work in the case of D3D11, so FDynamicRHI must be calling it itself.

I also tried to call RHIDiscardRenderTargets afterward. And I must thank you for that. I would probably not have think of it as I am a complete novice when it comes to rendering pipelines.

It seems that you're also right about the thread thing.
UE4 is at the moment running on two concurrent thread, A "Game logic" thread and a "Rendering" thread that is from what I've seen a few ticks behind the game thread.

I tried to investigate the ENQUEUE_UNIQUE_RENDER_COMMAND macro and the general system that is behind it.
It seems like I would need to create a UStaticMeshProxy or something like that ( I red the thread but I don't have the exact term in my mind at the moment ).
But I am not really sure. I try to understand it but it's like entering a maze with by a foggy weather.

Here is the link to the UE4 documentation about the Rendering Thread: https://docs.unrealengine.com/latest/IN ... index.html

To be honest. I am not sure I will be able to implement this "quickly" by myself.
If you would like to help by writing some code and participate in the creation of the plugin. I would gladly accept your help and give you access to the repo that holds the sources.
On the other hand. I will send you a PM with my private coordinates if you have some time to spare to discuss it with me.

Again, I would like to thank you for these precious tips and help you already provided. :)
 
User avatar
Erio
Topic Author
Posts: 81
Joined: 06 Feb 2013, 17:30
Location: Orléans/France

Re: NoesisGUI Unreal Engine 4 Plugin

20 Nov 2014, 14:18

Hey guys,

This is only a quick reply to keep you up to date of what has been going on since the last message.

I struggled with RenderTargets and keep struggling with them.

So right now I have a black texture at the creation that will afterward be cleared (first step) to some other color, blue atm.

Once I get the RT to clear itself, I will be able to render Noesis on it. :)

We're almost there! I hope.. Maybe.. xD

Once I get the render for this one, I'll do it using Canvas for 2D UI support (thanks to DigitalKarnage informations it should be quick)

So for now. More struggling.
Once render will be done correctly, I will make the event support. But well... First render! :)
 
User avatar
Erio
Topic Author
Posts: 81
Joined: 06 Feb 2013, 17:30
Location: Orléans/France

Re: NoesisGUI Unreal Engine 4 Plugin

21 Jan 2015, 23:05

Hey guys..

A quick update to apologize for the lack of progress that has been made lately.

As I am running pretty much bankrupt, I am in the preparation of a project that will be either my escape rope or my tombstone.

I will not work on the project for a while.. At least until I get some free time again.

Again my apologizes, I would love to be able to complete it or bring it to a further step but this will only be possible once I get a proper job to pay for my bills etc..

See ya soon I hope!

Erio
 
User avatar
jsantos
Site Admin
Posts: 2904
Joined: 20 Jan 2012, 17:18
Contact:

Re: NoesisGUI Unreal Engine 4 Plugin

22 Jan 2015, 11:02

Oh... this is really bad news... although we understand you perfectly. As soon as v1.2 is officially out we are going to dedicate time for this in NoesisGUI.

Meanwhile, is there anybody interesting in helping us with this? Please, contact us in private.

Thanks for the time you dedicated to this Erio. Hope you are back soon.
 
User avatar
Erio
Topic Author
Posts: 81
Joined: 06 Feb 2013, 17:30
Location: Orléans/France

Re: NoesisGUI Unreal Engine 4 Plugin

23 Jan 2015, 05:18

Yeah... I know right and I am sorry about it.

Hope that I will be able to be back on this slowly around mid/end of February..

You're welcome, I wish I could do more and solve all the problems that are still ongoing..

See you soon. If you need anything, do not hesitate to contact me. I can't work on the project but I am still reachable. :)
 
User avatar
jsantos
Site Admin
Posts: 2904
Joined: 20 Jan 2012, 17:18
Contact:

Re: NoesisGUI Unreal Engine 4 Plugin

18 Mar 2016, 22:34

By the way, the new implementation is moving forward.

 
User avatar
Erio
Topic Author
Posts: 81
Joined: 06 Feb 2013, 17:30
Location: Orléans/France

Re: NoesisGUI Unreal Engine 4 Plugin

18 Mar 2016, 23:02

Oh wow! That's super cool!

I can see that it's automatically finding the item names, which is pretty cool.
Do you plan on having all the events exposed or letting them having to be triggered manually by name?

And I've seen that for now you are importing the nsb but I guess that's gonna change as well hehe :)

Really cool to see that update! :)
 
User avatar
jsantos
Site Admin
Posts: 2904
Joined: 20 Jan 2012, 17:18
Contact:

Re: NoesisGUI Unreal Engine 4 Plugin

22 Mar 2016, 02:51

Do you plan on having all the events exposed or letting them having to be triggered manually by name?
Yes, we plan to expose all the events available for each named item found in the XAML. What do you think about it?
And I've seen that for now you are importing the nsb but I guess that's gonna change as well hehe :)
Yes, it is going to change. In fact, in NoesisGUI v1.3, nsb format is going to disappear. This is a preliminarily work. But the complex part (the renderer) is almost done : D
 
User avatar
Erio
Topic Author
Posts: 81
Joined: 06 Feb 2013, 17:30
Location: Orléans/France

Re: NoesisGUI Unreal Engine 4 Plugin

22 Mar 2016, 04:24

Yes, we plan to expose all the events available for each named item found in the XAML. What do you think about it?
I do think that's more than awesome ! :D
This would allow to be able to really use the XAMLs to their full extent without having to look through them completely (thus maybe allowing a better team-work between UI designer/coder and gameplay/ui programmers :) )
Yes, it is going to change. In fact, in NoesisGUI v1.3, nsb format is going to disappear. This is a preliminarily work. But the complex part (the renderer) is almost done : D
Ohhh! That's cool as well! How is it going to proceed then? Are we going to directly compile them on the fly when creating a UserControl? (would be awesome if it could even check if the XAML changes when in debug for example :D) <- No, I has no crazy ideas haha!

That's some really really good things you're putting up there!
Seriously. I can't think of any reason to use any other GUI library than NoesisGUI. :)
Awesome job guys!
  • 1
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

Who is online

Users browsing this forum: No registered users and 1 guest