Hình ảnh của tôi là 1280x800 và kích thước màn hình của tôi là 1280x800. Nó nên vẽ hoàn hảo. Tôi đang tạo một hình tứ giác kích thước của màn hình và đặt họa tiết cho vừa với hình tứ giác. Nhưng ngay bây giờ, nó vẽ một kết cấu vuông ở góc trên bên trái màn hình của tôi vượt quá tỷ lệ và không đủ lớn.
Tôi không biết tại sao nó không hoạt động, tôi đã thử viết kích thước của họa tiết lớn hơn khi vẽ và nó dường như hoạt động, nhưng tôi không biết tại sao nó không hoạt động khi vẽ trên 1280x800 tứ giác.
Làm cách nào để tạo một quad toàn màn hình?
Đây là cách tôi đang làm:
Đây là OPENGL và mã thiết lập hiển thị của tôi:
DisplayMode displayMode = null;
DisplayMode[] modes = Display.getAvailableDisplayModes();
for (int i = 0; i < modes.length; i++) {
if (modes[i].getWidth() == World.SCREEN_WIDTH && modes[i].getHeight() == World.SCREEN_HEIGHT && modes[i].isFullscreenCapable()) {
displayMode = modes[i];
}
}
Display.setDisplayMode(displayMode);
Display.setFullscreen(false);
Display.create();
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, World.SCREEN_WIDTH, World.SCREEN_HEIGHT, 0, 1, -1);
glMatrixMode(GL_MODELVIEW);
glEnable(GL_TEXTURE_2D);
Đây là mã của tôi để vẽ quad kết cấu:
background = TextureLoader.getTexture("PNG", new FileInputStream(new File("res/menu/background.png")));
glBindTexture(GL_TEXTURE_2D, background.getTextureID());
glPushMatrix();
glBegin(GL_QUADS);
glTexCoord2f(0, 0);
glVertex2f(0, 0); // Upper left
glTexCoord2f(1, 0);
glVertex2f(World.SCREEN_WIDTH, 0); // Upper right
glTexCoord2f(1, 1);
glVertex2f(World.SCREEN_WIDTH, World.SCREEN_HEIGHT); // Lower right
glTexCoord2f(0, 1);
glVertex2f(0, World.SCREEN_HEIGHT); // Lower left
glEnd();
glPopMatrix();