kotlin-graphics / imgui

Bloat-free Immediate Mode Graphical User interface for JVM with minimal dependencies (rewrite of dear imgui)
MIT License
600 stars 36 forks source link

Rendering artifacts on non-square elements #191

Closed doceazedo closed 1 year ago

doceazedo commented 1 year ago

Everything that is not a square, such as most of the stuff on the demo custom rendering window, roundings and tabs are rendering with very weird, distorted artifacts:

CleanShot 2023-09-06 at 12 57 02@2x

Some other artifacts are also appearing depending on the options:

https://github.com/kotlin-graphics/imgui/assets/33992396/60171f8c-3c5b-4afe-8fe6-dbd9951d8cd8

I didn't do anything fancy for the setup (note this is a Minecraft mod running on a Apple M1 Max, macOS 13.0.1):

object ImGui {
    val instance = ImGui
    val implGl3: ImplGL3
    val implGlfw: ImplGlfw

    init {
        MINECRAFT_BEHAVIORS = true

        val glfwWindow = GlfwWindow(MinecraftClient.getInstance().window.handle)
        val window = GlWindow(glfwWindow, Caps.Profile.COMPATIBILITY, true)

        window.makeCurrent(true)
        Context().setCurrent()

        implGlfw = ImplGlfw(window, false, null)
        implGl3 = ImplGL3()
    }
}
@Environment(EnvType.CLIENT)
open class ImGuiScreen(title: Text) : Screen(title) {
    override fun render(context: DrawContext?, mouseX: Int, mouseY: Int, delta: Float) {
        ImGui.implGl3.newFrame()
        ImGui.implGlfw.newFrame()
        ImGui.instance.newFrame()

        ImGui.instance.showDemoWindow(booleanArrayOf(true))

        ImGui.instance.render()
        ImGui.implGl3.renderDrawData(
            Objects.requireNonNull<DrawData>(ImGui.instance.drawData)
        )
    }
}

Any hints on how I can solve this?

elect86 commented 1 year ago

Thanks for reporting

I got on the private test suite almost 300 tests, but that wasn't included.

It should be fixed now, fetch 1.89.7-1 and reopen this issue if it's still there