diff --git a/src/net/torvald/terrarum/App.java b/src/net/torvald/terrarum/App.java index abfc6b84d..f0f885761 100644 --- a/src/net/torvald/terrarum/App.java +++ b/src/net/torvald/terrarum/App.java @@ -482,7 +482,7 @@ public class App implements ApplicationListener { hq2x = new Hq2x(2); fullscreenQuad = new Mesh( - true, 4, 6, + true, 4, 4, VertexAttribute.Position(), VertexAttribute.ColorUnpacked(), VertexAttribute.TexCoords(0) @@ -578,7 +578,7 @@ public class App implements ApplicationListener { shaderPassthruRGBA.setUniformi("u_texture", 0); postProcessorOutFBO2.getColorBufferTexture().setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear); postProcessorOutFBO2.getColorBufferTexture().bind(0); - fullscreenQuad.render(shaderPassthruRGBA, GL20.GL_TRIANGLES); + fullscreenQuad.render(shaderPassthruRGBA, GL20.GL_TRIANGLE_FAN); } else if (getConfigDouble("screenmagnifying") < 1.01 || getConfigString("screenmagnifyingfilter").equals("none")) { shaderPassthruRGBA.bind(); @@ -586,7 +586,7 @@ public class App implements ApplicationListener { shaderPassthruRGBA.setUniformi("u_texture", 0); postProcessorOutFBO.getColorBufferTexture().setFilter(Texture.TextureFilter.Nearest, Texture.TextureFilter.Nearest); postProcessorOutFBO.getColorBufferTexture().bind(0); - fullscreenQuad.render(shaderPassthruRGBA, GL20.GL_TRIANGLES); + fullscreenQuad.render(shaderPassthruRGBA, GL20.GL_TRIANGLE_FAN); } else if (getConfigString("screenmagnifyingfilter").equals("bilinear")) { shaderPassthruRGBA.bind(); @@ -594,7 +594,7 @@ public class App implements ApplicationListener { shaderPassthruRGBA.setUniformi("u_texture", 0); postProcessorOutFBO.getColorBufferTexture().setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear); postProcessorOutFBO.getColorBufferTexture().bind(0); - fullscreenQuad.render(shaderPassthruRGBA, GL20.GL_TRIANGLES); + fullscreenQuad.render(shaderPassthruRGBA, GL20.GL_TRIANGLE_FAN); } @@ -653,7 +653,7 @@ public class App implements ApplicationListener { shaderBayerSkyboxFill.setUniformf("parallax_size", 0f); shaderBayerSkyboxFill.setUniformf("topColor", gradWhiteTop.r, gradWhiteTop.g, gradWhiteTop.b, 1f); shaderBayerSkyboxFill.setUniformf("bottomColor", gradWhiteBottom.r, gradWhiteBottom.g, gradWhiteBottom.b, 1f); - fullscreenQuad.render(shaderBayerSkyboxFill, GL20.GL_TRIANGLES); + fullscreenQuad.render(shaderBayerSkyboxFill, GL20.GL_TRIANGLE_FAN); setCameraPosition(0f, 0f); @@ -1093,7 +1093,7 @@ public class App implements ApplicationListener { WIDTH, HEIGHT, 0f, 1f, 1f, 1f, 1f, 1f, 0f, 0f, HEIGHT, 0f, 1f, 1f, 1f, 1f, 0f, 0f }); - mesh.setIndices(new short[]{0, 1, 2, 2, 3, 0}); + mesh.setIndices(new short[]{0, 1, 2, 3}); } public static void setGamepadButtonLabels() { diff --git a/src/net/torvald/terrarum/TerrarumPostProcessor.kt b/src/net/torvald/terrarum/TerrarumPostProcessor.kt index f34cbe299..fbf1e6656 100644 --- a/src/net/torvald/terrarum/TerrarumPostProcessor.kt +++ b/src/net/torvald/terrarum/TerrarumPostProcessor.kt @@ -255,7 +255,7 @@ object TerrarumPostProcessor : Disposable { shader.setUniformf("quant", shaderQuant[App.getConfigInt("displaycolourdepth")] ?: 255f) shader.setUniformf("vibrancy", 1f, vo, vg, 1f) shader.setUniformMatrix4fv("swizzler", swizzler, rng.nextInt(24), 16*4) - App.fullscreenQuad.render(shader, GL20.GL_TRIANGLES) + App.fullscreenQuad.render(shader, GL20.GL_TRIANGLE_FAN) Gdx.gl.glActiveTexture(GL20.GL_TEXTURE0) // so that batch that comes next will bind any tex to it diff --git a/src/net/torvald/terrarum/modulebasegame/IngameRenderer.kt b/src/net/torvald/terrarum/modulebasegame/IngameRenderer.kt index 7b8c43d1b..b2b6335f3 100644 --- a/src/net/torvald/terrarum/modulebasegame/IngameRenderer.kt +++ b/src/net/torvald/terrarum/modulebasegame/IngameRenderer.kt @@ -709,7 +709,7 @@ object IngameRenderer : Disposable { App.shaderPassthruRGBA.bind() App.shaderPassthruRGBA.setUniformMatrix("u_projTrans", camera.combined) App.shaderPassthruRGBA.setUniformi("u_texture", 0) - blurWriteQuad.render(App.shaderPassthruRGBA, GL20.GL_TRIANGLES) + blurWriteQuad.render(App.shaderPassthruRGBA, GL20.GL_TRIANGLE_FAN) } } @@ -726,7 +726,7 @@ object IngameRenderer : Disposable { App.shaderPassthruRGBA.bind() App.shaderPassthruRGBA.setUniformMatrix("u_projTrans", camera.combined) App.shaderPassthruRGBA.setUniformi("u_texture", 0) - blurWriteQuad.render(App.shaderPassthruRGBA, GL20.GL_TRIANGLES) + blurWriteQuad.render(App.shaderPassthruRGBA, GL20.GL_TRIANGLE_FAN) } fboBlurHalf.inAction(camera, batch) { @@ -737,7 +737,7 @@ object IngameRenderer : Disposable { shaderKawaseDown.setUniformMatrix("u_projTrans", camera.combined) shaderKawaseDown.setUniformi("u_texture", 0) shaderKawaseDown.setUniformf("halfpixel", KAWASE_POWER / fboBlurHalf.width, KAWASE_POWER / fboBlurHalf.height) - blurWriteQuad2.render(shaderKawaseDown, GL20.GL_TRIANGLES) + blurWriteQuad2.render(shaderKawaseDown, GL20.GL_TRIANGLE_FAN) } /*fboBlurQuarter.inAction(camera, batch) { @@ -748,7 +748,7 @@ object IngameRenderer : Disposable { shaderKawaseDown.setUniformMatrix("u_projTrans", camera.combined) shaderKawaseDown.setUniformi("u_texture", 0) shaderKawaseDown.setUniformf("halfpixel", KAWASE_POWER / fboBlurQuarter.width, KAWASE_POWER / fboBlurQuarter.height) - blurWriteQuad4.render(shaderKawaseDown, GL20.GL_TRIANGLES) + blurWriteQuad4.render(shaderKawaseDown, GL20.GL_TRIANGLE_FAN) } fboBlurHalf.inAction(camera, batch) { @@ -759,7 +759,7 @@ object IngameRenderer : Disposable { shaderKawaseUp.setUniformMatrix("u_projTrans", camera.combined) shaderKawaseUp.setUniformi("u_texture", 0) shaderKawaseUp.setUniformf("halfpixel", KAWASE_POWER / fboBlurQuarter.width, KAWASE_POWER / fboBlurQuarter.height) - blurWriteQuad2.render(shaderKawaseUp, GL20.GL_TRIANGLES) + blurWriteQuad2.render(shaderKawaseUp, GL20.GL_TRIANGLE_FAN) }*/ outFbo.inAction(camera, batch) { @@ -770,7 +770,7 @@ object IngameRenderer : Disposable { shaderKawaseUp.setUniformMatrix("u_projTrans", camera.combined) shaderKawaseUp.setUniformi("u_texture", 0) shaderKawaseUp.setUniformf("halfpixel", KAWASE_POWER / fboBlurHalf.width, KAWASE_POWER / fboBlurHalf.height) - blurWriteQuad.render(shaderKawaseUp, GL20.GL_TRIANGLES) + blurWriteQuad.render(shaderKawaseUp, GL20.GL_TRIANGLE_FAN) } } @@ -780,19 +780,19 @@ object IngameRenderer : Disposable { fun resize(width: Int, height: Int) { if (!init) { blurWriteQuad = Mesh( - true, 4, 6, + true, 4, 4, VertexAttribute.Position(), VertexAttribute.ColorUnpacked(), VertexAttribute.TexCoords(0) ) blurWriteQuad2 = Mesh( - true, 4, 6, + true, 4, 4, VertexAttribute.Position(), VertexAttribute.ColorUnpacked(), VertexAttribute.TexCoords(0) ) /*blurWriteQuad4 = Mesh( - true, 4, 6, + true, 4, 4, VertexAttribute.Position(), VertexAttribute.ColorUnpacked(), VertexAttribute.TexCoords(0) @@ -847,21 +847,21 @@ object IngameRenderer : Disposable { lightmapFbo.width.toFloat(),0f,0f, 1f,1f,1f,1f, 1f,1f, lightmapFbo.width.toFloat(),lightmapFbo.height.toFloat(),0f, 1f,1f,1f,1f, 1f,0f, 0f,lightmapFbo.height.toFloat(),0f, 1f,1f,1f,1f, 0f,0f)) - blurWriteQuad.setIndices(shortArrayOf(0, 1, 2, 2, 3, 0)) + blurWriteQuad.setIndices(shortArrayOf(0, 1, 2, 3)) blurWriteQuad2.setVertices(floatArrayOf( 0f,0f,0f, 1f,1f,1f,1f, 0f,1f, lightmapFbo.width.div(2).toFloat(),0f,0f, 1f,1f,1f,1f, 1f,1f, lightmapFbo.width.div(2).toFloat(),lightmapFbo.height.div(2).toFloat(),0f, 1f,1f,1f,1f, 1f,0f, 0f,lightmapFbo.height.div(2).toFloat(),0f, 1f,1f,1f,1f, 0f,0f)) - blurWriteQuad2.setIndices(shortArrayOf(0, 1, 2, 2, 3, 0)) + blurWriteQuad2.setIndices(shortArrayOf(0, 1, 2, 3)) /*blurWriteQuad4.setVertices(floatArrayOf( 0f,0f,0f, 1f,1f,1f,1f, 0f,1f, lightmapFbo.width.div(4).toFloat(),0f,0f, 1f,1f,1f,1f, 1f,1f, lightmapFbo.width.div(4).toFloat(),lightmapFbo.height.div(4).toFloat(),0f, 1f,1f,1f,1f, 1f,0f, 0f,lightmapFbo.height.div(4).toFloat(),0f, 1f,1f,1f,1f, 0f,0f)) - blurWriteQuad4.setIndices(shortArrayOf(0, 1, 2, 2, 3, 0))*/ + blurWriteQuad4.setIndices(shortArrayOf(0, 1, 2, 3))*/ } override fun dispose() { diff --git a/src/net/torvald/terrarum/ui/Toolkit.kt b/src/net/torvald/terrarum/ui/Toolkit.kt index 4e0d67783..dcebfc76e 100644 --- a/src/net/torvald/terrarum/ui/Toolkit.kt +++ b/src/net/torvald/terrarum/ui/Toolkit.kt @@ -205,7 +205,7 @@ object Toolkit : Disposable { shaderKawaseDown.setUniformMatrix("u_projTrans", camera.combined) shaderKawaseDown.setUniformi("u_texture", 0) shaderKawaseDown.setUniformf("halfpixel", radius3 / fboBlurHalf.width, radius3 / fboBlurHalf.height) - blurWriteQuad2.render(shaderKawaseDown, GL20.GL_TRIANGLES) + blurWriteQuad2.render(shaderKawaseDown, GL20.GL_TRIANGLE_FAN) } fboBlurQuarter.inAction(camera, batch) { @@ -216,7 +216,7 @@ object Toolkit : Disposable { shaderKawaseDown.setUniformMatrix("u_projTrans", camera.combined) shaderKawaseDown.setUniformi("u_texture", 0) shaderKawaseDown.setUniformf("halfpixel", radius3 / fboBlurQuarter.width, radius3 / fboBlurQuarter.height) - blurWriteQuad4.render(shaderKawaseDown, GL20.GL_TRIANGLES) + blurWriteQuad4.render(shaderKawaseDown, GL20.GL_TRIANGLE_FAN) } fboBlurHalf.inAction(camera, batch) { @@ -227,7 +227,7 @@ object Toolkit : Disposable { shaderKawaseUp.setUniformMatrix("u_projTrans", camera.combined) shaderKawaseUp.setUniformi("u_texture", 0) shaderKawaseUp.setUniformf("halfpixel", radius3 / fboBlurQuarter.width, radius3 / fboBlurQuarter.height) - blurWriteQuad2.render(shaderKawaseUp, GL20.GL_TRIANGLES) + blurWriteQuad2.render(shaderKawaseUp, GL20.GL_TRIANGLE_FAN) } fboBlur.inAction(camera, batch) { @@ -238,7 +238,7 @@ object Toolkit : Disposable { shaderKawaseUp.setUniformMatrix("u_projTrans", camera.combined) shaderKawaseUp.setUniformi("u_texture", 0) shaderKawaseUp.setUniformf("halfpixel", radius3 / fboBlurHalf.width, radius3 / fboBlurHalf.height) - blurWriteQuad.render(shaderKawaseUp, GL20.GL_TRIANGLES) + blurWriteQuad.render(shaderKawaseUp, GL20.GL_TRIANGLE_FAN) } }*/ @@ -250,7 +250,7 @@ object Toolkit : Disposable { shaderKawaseDown.setUniformMatrix("u_projTrans", camera.combined) shaderKawaseDown.setUniformi("u_texture", 0) shaderKawaseDown.setUniformf("halfpixel", blurRadius / fboBlurHalf.width, blurRadius / fboBlurHalf.height) - blurWriteQuad2.render(shaderKawaseDown, GL20.GL_TRIANGLES) + blurWriteQuad2.render(shaderKawaseDown, GL20.GL_TRIANGLE_FAN) } fboBlur.inAction(camera, batch) { @@ -261,7 +261,7 @@ object Toolkit : Disposable { shaderKawaseUp.setUniformMatrix("u_projTrans", camera.combined) shaderKawaseUp.setUniformi("u_texture", 0) shaderKawaseUp.setUniformf("halfpixel", blurRadius / fboBlurHalf.width, blurRadius / fboBlurHalf.height) - blurWriteQuad.render(shaderKawaseUp, GL20.GL_TRIANGLES) + blurWriteQuad.render(shaderKawaseUp, GL20.GL_TRIANGLE_FAN) } @@ -315,19 +315,19 @@ object Toolkit : Disposable { } blurWriteQuad = Mesh( - true, 4, 6, + true, 4, 4, VertexAttribute.Position(), VertexAttribute.ColorUnpacked(), VertexAttribute.TexCoords(0) ) blurWriteQuad2 = Mesh( - true, 4, 6, + true, 4, 4, VertexAttribute.Position(), VertexAttribute.ColorUnpacked(), VertexAttribute.TexCoords(0) ) blurWriteQuad4 = Mesh( - true, 4, 6, + true, 4, 4, VertexAttribute.Position(), VertexAttribute.ColorUnpacked(), VertexAttribute.TexCoords(0) @@ -357,20 +357,20 @@ object Toolkit : Disposable { fw.toFloat(),0f,0f, 1f,1f,1f,1f, 1f,1f, fw.toFloat(), fh.toFloat(),0f, 1f,1f,1f,1f, 1f,0f, 0f, fh.toFloat(),0f, 1f,1f,1f,1f, 0f,0f)) - blurWriteQuad.setIndices(shortArrayOf(0, 1, 2, 2, 3, 0)) + blurWriteQuad.setIndices(shortArrayOf(0, 1, 2, 3)) blurWriteQuad2.setVertices(floatArrayOf( 0f,0f,0f, 1f,1f,1f,1f, 0f,1f, fw.div(2).toFloat(),0f,0f, 1f,1f,1f,1f, 1f,1f, fw.div(2).toFloat(), fh.div(2).toFloat(),0f, 1f,1f,1f,1f, 1f,0f, 0f, fh.div(2).toFloat(),0f, 1f,1f,1f,1f, 0f,0f)) - blurWriteQuad2.setIndices(shortArrayOf(0, 1, 2, 2, 3, 0)) + blurWriteQuad2.setIndices(shortArrayOf(0, 1, 2, 3)) blurWriteQuad4.setVertices(floatArrayOf( 0f,0f,0f, 1f,1f,1f,1f, 0f,1f, fw.div(4).toFloat(),0f,0f, 1f,1f,1f,1f, 1f,1f, fw.div(4).toFloat(), fh.div(4).toFloat(),0f, 1f,1f,1f,1f, 1f,0f, 0f, fh.div(4).toFloat(),0f, 1f,1f,1f,1f, 0f,0f)) - blurWriteQuad4.setIndices(shortArrayOf(0, 1, 2, 2, 3, 0)) + blurWriteQuad4.setIndices(shortArrayOf(0, 1, 2, 3)) } } \ No newline at end of file diff --git a/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt b/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt index 6682a3ea9..b15237d3b 100644 --- a/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt +++ b/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt @@ -645,7 +645,7 @@ internal object BlocksDrawer { ) shader.setUniformf("mulBlendIntensity", if (mode == OCCLUSION) occlusionIntensity else 1f) //shader.setUniformf("drawBreakage", if (mode == WIRE) 0f else 1f) - tilesQuad.render(shader, GL20.GL_TRIANGLES) + tilesQuad.render(shader, GL20.GL_TRIANGLE_FAN) //tilesBufferAsTex.dispose() } @@ -676,7 +676,7 @@ internal object BlocksDrawer { if (oldScreenW != screenW || oldScreenH != screenH) { tilesQuad = Mesh( - true, 4, 6, + true, 4, 4, VertexAttribute.Position(), VertexAttribute.ColorUnpacked(), VertexAttribute.TexCoords(0) @@ -688,7 +688,7 @@ internal object BlocksDrawer { App.scr.wf, App.scr.hf, 0f, 1f, 1f, 1f, 1f, 1f, 1f, 0f, App.scr.hf, 0f, 1f, 1f, 1f, 1f, 0f, 1f )) - tilesQuad.setIndices(shortArrayOf(0, 1, 2, 2, 3, 0)) + tilesQuad.setIndices(shortArrayOf(0, 1, 2, 3)) } oldScreenW = screenW