Я создавал простую игру, и мои пиксели выглядят искаженными (изображение). Она не идеальна.
У меня нет опыта работы с этой библиотекой, и я выполнил два руководства по загрузке текстур и настройке экрана. И теперь у меня с этим проблема. Это работает для увеличенных текстур, но с небольшими пространствами это не работает.
Метод рисования текстур: (ниже) именно здесь, я думаю, проблема, но я не знаю, где. Рисую квадрат с текстурой на основе соотношения сторон и параметров.
Я создавал простую игру, и мои пиксели выглядят искаженными (изображение). Она не идеальна. У меня нет опыта работы с этой библиотекой, и я выполнил два руководства по загрузке текстур и настройке экрана. И теперь у меня с этим проблема. Это работает для увеличенных текстур, но с небольшими пространствами это не работает. Метод рисования текстур: (ниже) именно здесь, я думаю, проблема, но я не знаю, где. Рисую квадрат с текстурой на основе соотношения сторон и параметров. [code]public static void image(DisplayScreen screen, Texture texture, float x1, float y1, float width, float height) { GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); texture.bind(); int screenWidth = screen.getWidth(); int screenHeight = screen.getHeight(); glEnable(GL_TEXTURE); glEnable(GL_TEXTURE_2D); glBegin(GL_QUADS); float extendedX = (x1 * screenHeight) / screenWidth + (width * screenHeight) / screenWidth; glTexCoord2f(0.0f, .0f); GL11.glVertex2f((x1 * screenHeight) / screenWidth, y1+height); GL11.glTexCoord2f(1.0f, 0.0f); GL11.glVertex2f(extendedX, y1+height); GL11.glTexCoord2f(1.0f, 1.0f); GL11.glVertex2f(extendedX, y1); GL11.glTexCoord2f(0.0f, 1.0f); GL11.glVertex2f((x1 * screenHeight) / screenWidth, y1); GL11.glEnd(); } [/code] Я взял это из урока: [code]public Texture(String filename) { BufferedImage bi; try { bi = ImageIO.read(new File(filename)); width = bi.getWidth(); height = bi.getHeight();
int[] pixels_raw; pixels_raw = bi.getRGB(0, 0, width, height, null, 0, width); ByteBuffer pixels = BufferUtils.createByteBuffer(width*height*4); for (int i = 0; i < width; i++) { for (int j = 0; j < height; j++) { int pixel = pixels_raw[i * height + j]; pixels.put((byte) ((pixel >> 16) & 0xFF)); //RED pixels.put((byte) ((pixel >> 8) & 0xFF)); //GREEN pixels.put((byte) (pixel & 0xFF)); //BLUE pixels.put((byte) ((pixel >> 24) & 0xFF)); //ALPHA } } glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); pixels.flip(); id = glGenTextures(); bind(); glOrtho(2, 2, 2, 2, 2, 2); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, pixels); } catch(Exception e) { e.printStackTrace(); } [/code] Я добавил это, потому что думал, что это что-то даст: (это мало что дало, и проблема все еще существует) [code] glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_UNPACK_ALIGNMENT, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);[/code]
Если элемент сетки имеет ширину 0 пикселей содержит элемент шириной 0 пикселей со значением свойства CSS margin-left больше 0 и размещается на дорожке столбца сетки, размер которой равен «авто». затем он переполняет контейнер сетки в браузере...
Если элемент сетки имеет ширину 0 пикселей содержит элемент шириной 0 пикселей со значением свойства CSS margin-left больше 0 и размещается на дорожке столбца сетки, размер которой равен «авто». затем он переполняет контейнер сетки в браузере...
OpenGL ES 1.0 и 1.1. Эта спецификация API поддерживается
Android 1.0 и более поздних версий.
OpenGL ES 2.0 — эта спецификация API поддерживается Android 2.2
(уровень...
Я импортировал базовую модель в свою сцену, которая имела цветную карту.
Однако, когда я ее отображал, у нее были эти странные строки (см. Левое изображение):
Я импортировал базовую модель в свою сцену, которая имела цветную карту.
Однако, когда я ее отображал, у нее были эти странные строки (см. Левое изображение):