srceen-meshes now use GL_TRIANGLE_FAN

This commit is contained in:
minjaesong
2023-09-09 21:51:27 +09:00
parent 9af62b8b61
commit 07a70ffba4
5 changed files with 34 additions and 34 deletions

View File

@@ -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() {

View File

@@ -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

View File

@@ -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() {

View File

@@ -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))
}
}

View File

@@ -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