Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Lwjgl文本渲染和简单2d渲染_Java_Opengl_Rendering_Lwjgl_Text Rendering - Fatal编程技术网

Java Lwjgl文本渲染和简单2d渲染

Java Lwjgl文本渲染和简单2d渲染,java,opengl,rendering,lwjgl,text-rendering,Java,Opengl,Rendering,Lwjgl,Text Rendering,我在文本渲染的2D和2D之间切换时遇到问题。 当我切换到2D渲染简单四边形,然后切换到2D渲染tekst时,四边形将被删除。 我已经用我的代码尝试了几种方法,问题是glBlendFunc 这是我初始化简单2D渲染的代码: GL11.glEnable(GL_BLEND); GL11.glMatrixMode(GL_PROJECTION); GL11.glLoadIdentity(); GL11.glOrtho(0, Display.getWidth(), Display.getHeight(),

我在文本渲染的2D和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形状。 我怎样才能解决这个问题?
我是从

中得到这段代码的。我以前在使用2D渲染3D时遇到过这个问题。我所做的是创建3个单独的方法。在您的案例中,3可能会起作用,您将如何使用它是通过首先调用2D渲染,然后调用渲染,因此在我的示例中,我使用的名称是setOrphoOn和setOrphoOff On On being 2D and off being 3D,我想应用的规则相同

抱歉,我没有
,因为这个网站不喜欢我的代码格式,所以我必须这样做,它应该在包含代码的浏览器中打开


此外,如果这不容易解释,并且代码格式不正确,那么很抱歉???但我就是这样做的,它确实对我有用。请随意自行测试setOrphoOnOff

格式代码的可能副本只需缩进一次即可完成。编辑器工具栏上应该有一个问号,上面有格式说明。我尝试了缩进,但它可以工作一半的代码。链接到我放在下拉框中的txt