@Override public int getWidth() { switch (textureData.getType()) { case TEXTURE3D: return textureData.getHeight(); default: return textureData.getWidth(); } }
@Override public Rect2i getPixelRegion() { return Rect2i.createFromMinAndSize(0, 0, textureData.getWidth(), textureData.getHeight()); }
if (data.getWidth() % data.getHeight() != 0 || data.getWidth() / data.getHeight() != data.getHeight()) { throw new RuntimeException("3D texture must be cubic (height^3) - width must thus be a multiple of height"); int width = data.getWidth(); int height = data.getHeight(); resources.loadedTextureInfo = new LoadedTextureInfo(width, height, 1, data);
private void testRepeatedColorInDataTexture(Color expectedColor, int expectedRed, int expectedGreen, int expectedBlue, int expectedAlpha) { TextureData textureData = TextureDataFactory.newInstance(expectedColor); ByteBuffer[] buffers = textureData.getBuffers(); assertEquals(1, buffers.length); ByteBuffer buffer = buffers[0]; for (int offsetCounter = 0; offsetCounter < 4 * 16; offsetCounter++) { int offset = offsetCounter * 4; assertEquals(expectedRed, buffer.get(0 + offset)); assertEquals(expectedGreen, buffer.get(1 + offset)); assertEquals(expectedBlue, buffer.get(2 + offset)); assertEquals(expectedAlpha, buffer.get(3 + offset)); } assertEquals(16, textureData.getWidth()); assertEquals(16, textureData.getHeight()); assertEquals(FilterMode.NEAREST, textureData.getFilterMode()); assertEquals(WrapMode.REPEAT, textureData.getWrapMode()); assertEquals(Texture.Type.TEXTURE2D, textureData.getType()); } }
@Test public void successTest() throws IOException { BufferedImage image = createBufferedImage(2, 3, BufferedImage.TYPE_3BYTE_BGR); TextureData textureData = AWTTextureFormat.convertToTextureData(image, Texture.FilterMode.LINEAR); Assert.assertNotNull(textureData); Assert.assertEquals(2, textureData.getWidth()); Assert.assertEquals(3, textureData.getHeight()); Assert.assertEquals(Texture.FilterMode.LINEAR, textureData.getFilterMode()); }