Skip to content

Commit d1e264a

Browse files
committed
[API] Update ImGuiImplGl3
Add latest backend changes from Dear ImGui
1 parent 478156b commit d1e264a

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

imgui-lwjgl3/src/main/java/imgui/gl3/ImGuiImplGl3.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ public final class ImGuiImplGl3 {
7272
private boolean lastEnableBlend = false;
7373
private boolean lastEnableCullFace = false;
7474
private boolean lastEnableDepthTest = false;
75+
private boolean lastEnableStencilTest = false;
7576
private boolean lastEnableScissorTest = false;
7677

7778
/**
@@ -337,6 +338,7 @@ private void backupGlState() {
337338
lastEnableBlend = glIsEnabled(GL_BLEND);
338339
lastEnableCullFace = glIsEnabled(GL_CULL_FACE);
339340
lastEnableDepthTest = glIsEnabled(GL_DEPTH_TEST);
341+
lastEnableStencilTest = glIsEnabled(GL_STENCIL_TEST);
340342
lastEnableScissorTest = glIsEnabled(GL_SCISSOR_TEST);
341343
}
342344

@@ -352,6 +354,7 @@ private void restoreModifiedGlState() {
352354
if (lastEnableBlend) glEnable(GL_BLEND); else glDisable(GL_BLEND);
353355
if (lastEnableCullFace) glEnable(GL_CULL_FACE); else glDisable(GL_CULL_FACE);
354356
if (lastEnableDepthTest) glEnable(GL_DEPTH_TEST); else glDisable(GL_DEPTH_TEST);
357+
if (lastEnableStencilTest) glEnable(GL_STENCIL_TEST); else glDisable(GL_STENCIL_TEST);
355358
if (lastEnableScissorTest) glEnable(GL_SCISSOR_TEST); else glDisable(GL_SCISSOR_TEST);
356359
// @formatter:on CHECKSTYLE:ON
357360
glViewport(lastViewport[0], lastViewport[1], lastViewport[2], lastViewport[3]);
@@ -367,9 +370,10 @@ private void bind(final int fbWidth, final int fbHeight) {
367370
// Setup render state: alpha-blending enabled, no face culling, no depth testing, scissor enabled, polygon fill
368371
glEnable(GL_BLEND);
369372
glBlendEquation(GL_FUNC_ADD);
370-
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
373+
glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
371374
glDisable(GL_CULL_FACE);
372375
glDisable(GL_DEPTH_TEST);
376+
glDisable(GL_STENCIL_TEST);
373377
glEnable(GL_SCISSOR_TEST);
374378

375379
// Setup viewport, orthographic projection matrix

0 commit comments

Comments
 (0)