【发布时间】:2016-03-16 05:15:40
【问题描述】:
我在 2D 3D 和 2D 文本渲染之间切换时遇到问题。
当我切换到 2D 渲染简单的四边形,然后我切换到 2D 进行 tekst 渲染时,四边形将被删除。
我用我的代码尝试了几件事,问题是glBlendFunc
这是我初始化简单 2D 渲染的代码:
GL11.glEnable(GL_BLEND);
GL11.glMatrixMode(GL_PROJECTION);
GL11.glLoadIdentity();
GL11.glOrtho(0, Display.getWidth(), Display.getHeight(), 0, 1, -1);
GL11.glMatrixMode(GL_MODELVIEW);
GL11.glLoadIdentity();
这是我为文本初始化 2D 渲染的代码:
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glShadeModel(GL11.GL_SMOOTH);
GL11.glDisable(GL11.GL_DEPTH_TEST);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
GL11.glClearDepth(1);
GL11.glEnable(GL11.GL_BLEND);
// This is the problem line
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
GL11.glViewport(0,0, 800, 600);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity();
GL11.glOrtho(0, 800, 600, 0, 1, -1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
在我切换到 2d 渲染文本后,在下一个渲染循环中清除屏幕后,不会再次绘制简单的 2d 形状。 我怎么解决这个问题? 我从http://lwjgl.org/wiki/index.php?title=Slick-Util_Library_-_Part_3_-_TrueType_Fonts_for_LWJGL得到这个代码
【问题讨论】:
标签: java opengl rendering lwjgl text-rendering