Unwanted repeated / not-cleared rendering of elements in Noesis
Posted: 30 Nov 2021, 12:02
Hi,
I've been having trouble with my Noesis-based GUI where my object icons repeat/tile weirdly. (Ignore top left object icon; I have some accidentally defaulting to (0,0) coords)

I'm not sure, but it seems to be linked to the list on the left (which matches the number of icons/objects represented) being longer than the control can show. I thought of this when in another thread on the forums here, someone suggested that issues driven by xaml and elements like this was due to clipping not working? When I null out that list but keep the icons, it seems to work.

When it is going wrong, it looks fine in Renderdoc (from my limited experience with the tool):

I stripped out the rest of my rendering to isolate it. But at this point I've tinkered with it so much I'm not sure! My initial integration was clearly not right, and was mostly trial-and-error.
Any tips on what to look at?
Thanks!
I've been having trouble with my Noesis-based GUI where my object icons repeat/tile weirdly. (Ignore top left object icon; I have some accidentally defaulting to (0,0) coords)

I'm not sure, but it seems to be linked to the list on the left (which matches the number of icons/objects represented) being longer than the control can show. I thought of this when in another thread on the forums here, someone suggested that issues driven by xaml and elements like this was due to clipping not working? When I null out that list but keep the icons, it seems to work.

When it is going wrong, it looks fine in Renderdoc (from my limited experience with the tool):

I stripped out the rest of my rendering to isolate it. But at this point I've tinkered with it so much I'm not sure! My initial integration was clearly not right, and was mostly trial-and-error.
Code: Select all
const float localGameTimeSecs = world.gameTime_;
UpdateGUI(localGameTimeSecs); // IView::Update(localGameTimeSecs);
RenderGUIOffscreen(); // IView::GetRenderer()::UpdateRenderTree(), then IView::GetRenderer()::RenderOffscreen()
glBindFramebuffer(GL_FRAMEBUFFER, 0);
glViewport(0, 0, 1920, 1080);
glClearColor(0.0f, 0.0f, 0.25f, 0.0f);
glClearStencil(0);
glClear(GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
RenderGUI(); // IView::GetRenderer()::Render();
glfwSwapBuffers((GLFWwindow*)window_->GetNativeWindow());
glfwPollEvents();
Thanks!
