Switch to GL3bc, change mipmap code to glGenerateMipmap

This commit is contained in:
Pazaz 2022-04-22 17:15:58 -04:00
parent 87f04ac0e0
commit 240862d626
2 changed files with 25 additions and 5 deletions

View file

@ -654,7 +654,7 @@ public final class GlRenderer {
if (!canvas.isDisplayable()) { if (!canvas.isDisplayable()) {
return -1; return -1;
} }
GLProfile profile = GLProfile.get(GLProfile.GL2); GLProfile profile = GLProfile.get(GLProfile.GL3bc);
@Pc(8) GLCapabilities capabilities = new GLCapabilities(profile); @Pc(8) GLCapabilities capabilities = new GLCapabilities(profile);
if (numSamples > 0) { if (numSamples > 0) {
capabilities.setSampleBuffers(true); capabilities.setSampleBuffers(true);

View file

@ -183,18 +183,38 @@ public final class GlTexture extends SecondaryNode {
GlRenderer.setTextureId(this.textureId); GlRenderer.setTextureId(this.textureId);
@Pc(82) ByteBuffer pixels = ByteBuffer.wrap(this.aClass88_1.method2728(size, size, this.aBoolean288, arg1, 0.7D, arg0)); @Pc(82) ByteBuffer pixels = ByteBuffer.wrap(this.aClass88_1.method2728(size, size, this.aBoolean288, arg1, 0.7D, arg0));
if (this.anInt5489 == 2) { if (this.anInt5489 == 2) {
// GLU code: // Old GLU code:
// @Pc(201) GLUgl2es1 local201 = new GLUgl2es1(); // @Pc(201) GLUgl2es1 local201 = new GLUgl2es1();
// local201.gluBuild2DMipmaps(3553, 6408, size, size, 6408, 5121, pixels); // local201.gluBuild2DMipmaps(3553, 6408, size, size, 6408, 5121, pixels);
// gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MIN_FILTER, GL2.GL_LINEAR_MIPMAP_LINEAR); // gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MIN_FILTER, GL2.GL_LINEAR_MIPMAP_LINEAR);
// gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MAG_FILTER, GL2.GL_LINEAR); // gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MAG_FILTER, GL2.GL_LINEAR);
// New code (OpenGL 1.4):
// New code (OpenGL 3.0+) w/ texStorage
int num_mipmaps = 4;
gl.glTexStorage2D(GL2.GL_TEXTURE_2D, num_mipmaps, GL2.GL_RGBA8, size, size);
gl.glTexSubImage2D(GL2.GL_TEXTURE_2D, 0, 0, 0, size, size, GL2.GL_RGBA, GL2.GL_UNSIGNED_BYTE, pixels);
gl.glGenerateMipmap(GL2.GL_TEXTURE_2D);
gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_WRAP_S, GL2.GL_REPEAT); gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_WRAP_S, GL2.GL_REPEAT);
gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_WRAP_T, GL2.GL_REPEAT); gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_WRAP_T, GL2.GL_REPEAT);
gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MAG_FILTER, GL2.GL_LINEAR); gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MAG_FILTER, GL2.GL_LINEAR);
gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MIN_FILTER, GL2.GL_LINEAR_MIPMAP_LINEAR); gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MIN_FILTER, GL2.GL_LINEAR_MIPMAP_LINEAR);
gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_GENERATE_MIPMAP, GL2.GL_TRUE);
gl.glTexImage2D(GL2.GL_TEXTURE_2D, 0, GL2.GL_RGBA8, size, size, 0, GL2.GL_RGBA, GL2.GL_UNSIGNED_BYTE, pixels); // New code (OpenGL 3.0+) w/o texStorage
// gl.glTexImage2D(GL2.GL_TEXTURE_2D, 0, GL2.GL_RGBA8, size, size, 0, GL2.GL_RGBA, GL2.GL_UNSIGNED_BYTE, pixels);
// gl.glGenerateMipmap(GL2.GL_TEXTURE_2D);
// gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_WRAP_S, GL2.GL_REPEAT);
// gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_WRAP_T, GL2.GL_REPEAT);
// gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MAG_FILTER, GL2.GL_LINEAR);
// gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MIN_FILTER, GL2.GL_LINEAR_MIPMAP_LINEAR);
// New code (OpenGL 1.4):
// gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_WRAP_S, GL2.GL_REPEAT);
// gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_WRAP_T, GL2.GL_REPEAT);
// gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MAG_FILTER, GL2.GL_LINEAR);
// gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MIN_FILTER, GL2.GL_LINEAR_MIPMAP_LINEAR);
// gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_GENERATE_MIPMAP, GL2.GL_TRUE);
// gl.glTexImage2D(GL2.GL_TEXTURE_2D, 0, GL2.GL_RGBA8, size, size, 0, GL2.GL_RGBA, GL2.GL_UNSIGNED_BYTE, pixels);
Static63.onCardTexture += pixels.limit() * 4 / 3 - this.textureSize; Static63.onCardTexture += pixels.limit() * 4 / 3 - this.textureSize;
this.textureSize = pixels.limit() * 4 / 3; this.textureSize = pixels.limit() * 4 / 3;
} else if (this.anInt5489 == 1) { } else if (this.anInt5489 == 1) {