Saya menggunakan OpenGL melalui LWJGL.
Saya memiliki rendering quad 16x16 bertekstur pada 16x16. Ketika saya mengubah jumlah skalanya, quad tumbuh, lalu menjadi lebih blur karena semakin besar.
Bagaimana saya bisa membuatnya skala tanpa menjadi buram, seperti di Minecraft.
Berikut adalah kode di dalam objek RenderableEntity saya:
public void render(){
Color.white.bind();
this.spriteSheet.bind();
GL11.glBegin(GL11.GL_QUADS);
GL11.glTexCoord2f(0,0);
GL11.glVertex2f(this.x, this.y);
GL11.glTexCoord2f(1,0);
GL11.glVertex2f(getDrawingWidth(), this.y);
GL11.glTexCoord2f(1,1);
GL11.glVertex2f(getDrawingWidth(), getDrawingHeight());
GL11.glTexCoord2f(0,1);
GL11.glVertex2f(this.x, getDrawingHeight());
GL11.glEnd();
}
Dan ini kode dari metode initGL saya di kelas game saya
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glClearColor(0.46f,0.46f,0.90f,1.0f);
GL11.glViewport(0,0,width,height);
GL11.glOrtho(0,width,height,0,1,-1);
Dan di sini adalah kode yang melakukan gambar yang sebenarnya
public void start(){
initGL(800,600);
init();
while(true){
GL11.glClear(GL11.GL_COLOR_BUFFER_BIT);
for(int i=0;i<entities.size();i++){
((RenderableEntity)entities.get(i)).render();
}
Display.update();
Display.sync(100);
if(Display.isCloseRequested()){
Display.destroy();
System.exit(0);
}
}
}