Tôi đang sử dụng OpenGL thông qua LWJGL.
Tôi có một kết xuất quad 16x16 kết cấu ở 16x16. Khi tôi thay đổi số lượng quy mô của nó, bộ tứ phát triển, sau đó trở nên mờ hơn khi nó lớn hơn.
Làm thế nào tôi có thể làm cho nó mở rộng quy mô mà không bị mờ, như trong Minecraft.
Đây là mã bên trong đối tượng RenderableEntity của tôi:
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();
}
Và đây là mã từ phương thức initGL của tôi trong lớp trò chơi của tôi
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);
Và đây là đoạn mã thực hiện bản vẽ
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);
}
}
}