Re: Panda3D and Noesis integration (problems)
I resolve crash with this code
Code: Select all
if (m_NS_IView != nullptr)
{
m_NS_IView->GetRenderer()->Shutdown();
m_NS_IView.Reset();
m_NS_FramElm.Reset();
m_NS_Theme.Reset();
m_NS_RenderDevice.Reset();
}
Noesis::GUI::Shutdown();
Re: Panda3D and Noesis integration (problems)
I found problem what cause problem!
When I set it to false, Panda3D is rendered correctly without any black object. In Noesis 2.1 I can set SetIsPPAAEnabled true without this problem, but in Noesis beta not.
Code: Select all
m_NS_IView->SetIsPPAAEnabled(true);
Re: Panda3D and Noesis integration (problems)
Yeah, that's what I was telling you. Avoiding deletes when using our smart pointers.I resolve crash with this code
For PPAA we use alpha blending. Could it be that this state is not properly restored when rendering with Panda3D? Is there a way in Panda to save and restore the GL state?When I set it to false, Panda3D is rendered correctly without any black object. In Noesis 2.1
Re: Panda3D and Noesis integration (problems)
But under 2.1 final it still crash, uner new 2.2beta4 it is ok.Yeah, that's what I was telling you. Avoiding deletes when using our smart pointers.I resolve crash with this code
I give response to Panda3D developers. They will know what they have under hood, thanks for notice.For PPAA we use alpha blending. Could it be that this state is not properly restored when rendering with Panda3D? Is there a way in Panda to save and restore the GL state?
Re: Panda3D and Noesis integration (problems)
From Panda developers, they restore OpenGL. They asked "which OpenGL calls they are making when SetIsPPAAEnabled is set?" . Is the function inside GLRenderDevice? If yes, which function? I found only BeginRender() call InvalidateStateCache() where I found some glBlendFunc(). Is it that?
Re: Panda3D and Noesis integration (problems)
All GL state changes happen between BeginRender and EndRender, but those functions call more functions so you need to inspect all GLRenderDevice implementation to track issues. Another option would be implementing a new RenderDevice using Panda3D renderer.
Regarding SetIsPPAAEnabled, that function does not belong to the renderer and it doesn't make changes to GL. When that flag is enabled, extra geometry is generated to enable cheap antialiasing. That extra geometry is rendered with alpha blending enabled. But that's not the only path using alpha blending. Just a transparent rectangle should reproduce the same issue, if this is related to alpha blending at all.
Regarding SetIsPPAAEnabled, that function does not belong to the renderer and it doesn't make changes to GL. When that flag is enabled, extra geometry is generated to enable cheap antialiasing. That extra geometry is rendered with alpha blending enabled. But that's not the only path using alpha blending. Just a transparent rectangle should reproduce the same issue, if this is related to alpha blending at all.
Who is online
Users browsing this forum: Ahrefs [Bot], Google [Bot] and 16 guests