Dakror
Topic Author
Posts: 7
Joined: 13 Jan 2020, 18:15

Rendering Documentation

11 May 2020, 15:30

Hi there,
we would like to integrate Noesis in our Game Engine using the rendering backend agnostic BGFX framework. For this we need to understand how to integrate the Noesis rendering system into BGFX. Sadly the documentation on the exact rendering is currently not detailed enough to allow for integration to happen, and the "examples" aka the renderers in the application framework are not documented at all.

Could you give some more insight on how to interact with Noesis, especially since the surface and rendering tools will come from outside the GUI engine.
 
User avatar
jsantos
Site Admin
Posts: 3905
Joined: 20 Jan 2012, 17:18
Contact:

Re: Rendering Documentation

12 May 2020, 01:36

For integration purposes I recommend reading our Rendering Tutorial. For extending RenderDevice to create a new renderer, the best documentation is having a look at one of the implementations, D3D11RenderDevice or MTLRenderDevice are simple and easy to follow.
 
Dakror
Topic Author
Posts: 7
Joined: 13 Jan 2020, 18:15

Re: Rendering Documentation

12 May 2020, 19:37

Thanks, I'll take a look!
 
User avatar
jsantos
Site Admin
Posts: 3905
Joined: 20 Jan 2012, 17:18
Contact:

Re: Rendering Documentation

12 May 2020, 21:08

Sure, please let us know if you need help.
 
Dakror
Topic Author
Posts: 7
Joined: 13 Jan 2020, 18:15

Re: Rendering Documentation

20 May 2020, 16:25

The integration actually was quite straightforward, in testing I'm sadly stuck on one last final bug. When rendering a Combo Box with Overflow (scrolling), the first time the combo box is opened, a small visual glitch occurs. When fading in the scroll bar, the image from the frame buffer gets sampled and drawn again, on the position of the scroll bar segment, compare screenshot:
Image

since i can't debug the draw commands that get sent from Noesis, I'm not sure what is going on there. This bug-effect also disappears once the combo box is fully faded in and doesn't reappear on subsequent opens. I'm not quite sure why the draw command is using the image shader and sampling from the framebuffer to draw this part of the combo box. All commands are properly translated from the GLRenderDevice from RC6

Any help?
 
User avatar
jsantos
Site Admin
Posts: 3905
Joined: 20 Jan 2012, 17:18
Contact:

Re: Rendering Documentation

21 May 2020, 09:57

Glad to know you are making good progress! Do you plan to share this BGFX integration by the way?
The integration actually was quite straightforward, in testing I'm sadly stuck on one last final bug. When rendering a Combo Box with Overflow (scrolling), the first time the combo box is opened, a small visual glitch occurs. When fading in the scroll bar, the image from the frame buffer gets sampled and drawn again, on the position of the scroll bar segment, compare screenshot:
This is almost for sure a problem with offscreen rendering not correctly setup. Offscreen must happen before binding the main render target and after it you must restore the bound rendertarget and viewport dimensions.
since i can't debug the draw commands that get sent from Noesis, I'm not sure what is going on there.
Can't you use renderdoc or Visual Studio to debug a frame?
 
Dakror
Topic Author
Posts: 7
Joined: 13 Jan 2020, 18:15

Re: Rendering Documentation

21 May 2020, 11:28

I can create a Github gist, sure.

I debugged it with Renderdoc but the weird thing is that its just a single command that's still causing issues. Its the last command of the first offscreen render target it renders to, where it renders the scroll bar portion but is sampling from the texture of the previously drawn fbo.

I'll see what i can do.
 
User avatar
jsantos
Site Admin
Posts: 3905
Joined: 20 Jan 2012, 17:18
Contact:

Re: Rendering Documentation

21 May 2020, 11:46

I recommend the following, just create a simple XAML with just a button and set Opacity="0.5" (this will activate Offscreen rendering) and render it with XamlPlayer and with your integration. Capture frames with renderdoc and compare.
 
Dakror
Topic Author
Posts: 7
Joined: 13 Jan 2020, 18:15

Re: Rendering Documentation

21 May 2020, 16:47

Thanks, good idea. I will try that.
 
qromanek
Posts: 1
Joined: 29 Jan 2021, 23:15

Re: Rendering Documentation

31 Jan 2021, 20:51

@Dakror, if you got this working and are willing to share your code I would love to see it. Trying to accomplish something similar in my project.

Who is online

Users browsing this forum: No registered users and 20 guests