Package com.jme3.texture

Examples of com.jme3.texture.Image


                    data.put(pixel.getG8());
                    data.put(pixel.getB8());
                    data.put(pixel.getA8());
                }
            }
            image = new Image(Format.RGBA8, width, height, data);

            // modify the UV values so that they fit the new image
            float heightUV = maxUVY - minUVY;
            float widthUV = maxUVX - minUVX;
            for (int i = 0; i < uv.length; ++i) {
View Full Code Here


            int imageHeight = (int) (envelope.height * blenderContext.getBlenderKey().getGeneratedTexturePPU());
            if (imageHeight == 0) {
                imageHeight = 1;
            }
            ByteBuffer data = BufferUtils.createByteBuffer(imageWidth * imageHeight * (imageFormat.getBitsPerPixel() >> 3));
            image = new Image(texture.getImage().getFormat(), imageWidth, imageHeight, data);

            // computing the pixels
            PixelInputOutput pixelWriter = PixelIOFactory.getPixelIO(imageFormat);
            TexturePixel pixel = new TexturePixel();
            float[] uvs = new float[3];
View Full Code Here

                newData.put(dataIndex++, (byte) (tinAndAlpha[1] * 255.0f));
            }
            dataArray.add(newData);
        }

        Image result = depth > 1 ? new Image(Format.RGBA8, width, height, depth, dataArray) : new Image(Format.RGBA8, width, height, dataArray.get(0));
        if (image.getMipMapSizes() != null) {
            result.setMipMapSizes(image.getMipMapSizes().clone());
        }
        return result;
    }
View Full Code Here

                }
            }
            dataArray.add(newData);
        }

        Image result = dataArray.size() > 1 ? new Image(format, width, height, depth, dataArray) : new Image(format, width, height, dataArray.get(0));
        if (image.getMipMapSizes() != null) {
            result.setMipMapSizes(image.getMipMapSizes().clone());
        }
        return result;
    }
View Full Code Here

                newData.put(dataIndex++, (byte) (pixelColor[3] * 255.0f));
            }
            dataArray.add(newData);
        }

        Image result = depth > 1 ? new Image(Format.RGBA8, width, height, depth, dataArray) : new Image(Format.RGBA8, width, height, dataArray.get(0));
        if (image.getMipMapSizes() != null) {
            result.setMipMapSizes(image.getMipMapSizes().clone());
        }
        return result;
    }
View Full Code Here

     *             somehow invalid or corrupted
     */
    protected Texture loadTexture(Structure imageStructure, int imaflag, BlenderContext blenderContext) throws BlenderFileException {
        LOGGER.log(Level.FINE, "Fetching texture with OMA = {0}", imageStructure.getOldMemoryAddress());
        Texture result = null;
        Image im = (Image) blenderContext.getLoadedFeature(imageStructure.getOldMemoryAddress(), LoadedFeatureDataType.LOADED_FEATURE);
        if (im == null) {
            String texturePath = imageStructure.getFieldValue("name").toString();
            Pointer pPackedFile = (Pointer) imageStructure.getFieldValue("packedfile");
            if (pPackedFile.isNull()) {
                LOGGER.log(Level.FINE, "Reading texture from file: {0}", texturePath);
View Full Code Here

        int width = maxX - minX;
        int height = maxY - minY;
        ByteBuffer data = BufferUtils.createByteBuffer(width * height * (image.getFormat().getBitsPerPixel() >> 3));

        Image result = new Image(image.getFormat(), width, height, data);
        PixelInputOutput pixelIO = PixelIOFactory.getPixelIO(image.getFormat());
        TexturePixel pixel = new TexturePixel();

        for (int x = minX; x < maxX; ++x) {
            for (int y = minY; y < maxY; ++y) {
View Full Code Here

            TextureCubeMap texture = null;
            if (textureData.texture instanceof GeneratedTexture) {
                texture = ((GeneratedTexture) textureData.texture).generateSkyTexture(size, horizontalColor, zenithColor, blenderContext);
            } else {
                // first create a grayscale version of the image
                Image image = textureData.texture.getImage();
                if (image.getWidth() != image.getHeight() || image.getWidth() != size) {
                    image = ImageUtils.resizeTo(image, size, size);
                }
                Image grayscaleImage = ImageUtils.convertToGrayscaleTexture(image);

                // add the sky colors to the image
                PixelInputOutput sourcePixelIO = PixelIOFactory.getPixelIO(grayscaleImage.getFormat());
                PixelInputOutput targetPixelIO = PixelIOFactory.getPixelIO(image.getFormat());
                TexturePixel texturePixel = new TexturePixel();
                for (int x = 0; x < image.getWidth(); ++x) {
                    for (int y = 0; y < image.getHeight(); ++y) {
                        sourcePixelIO.read(grayscaleImage, 0, texturePixel, x, y);
                        texturePixel.intensity = texturePixel.red;// no matter which factor we use here, in grayscale they are all equal
                        ImageUtils.color(texturePixel, horizontalColor, zenithColor);
                        targetPixelIO.write(image, 0, texturePixel, x, y);
                    }
                }

                // create the cubemap texture from the coloured image
                ByteBuffer sourceData = image.getData(0);
                ArrayList<ByteBuffer> data = new ArrayList<ByteBuffer>(6);
                for (int i = 0; i < 6; ++i) {
                    data.add(BufferUtils.clone(sourceData));
                }
                texture = new TextureCubeMap(new Image(image.getFormat(), image.getWidth(), image.getHeight(), 6, data));
            }

            if (result == null) {
                result = texture;
            } else {
View Full Code Here

     */
    private void blend(Texture texture, TextureBlender textureBlender, BlenderContext blenderContext) {
        if (texture instanceof TriangulatedTexture) {
            ((TriangulatedTexture) texture).blend(textureBlender, null, blenderContext);
        } else if (texture instanceof Texture2D) {
            Image blendedImage = textureBlender.blend(texture.getImage(), null, blenderContext);
            texture.setImage(blendedImage);
        } else {
            throw new IllegalArgumentException("Invalid type for texture to blend!");
        }
    }
View Full Code Here

                                  // colors
            }

            // checking the flat textures for alpha values presence
            if (type == TextureHelper.TEX_IMAGE) {
                Image image = textureData.texture.getImage();
                switch (image.getFormat()) {
                    case BGR8:
                    case DXT1:
                    case Luminance16:
                    case Luminance16F:
                    case Luminance32F:
                    case Luminance8:
                    case RGB10:
                    case RGB111110F:
                    case RGB16:
                    case RGB16F:
                    case RGB32F:
                    case RGB565:
                    case RGB8:
                        return true;// these types have no alpha by definition
                    case ABGR8:
                    case DXT3:
                    case DXT5:
                    case Luminance16Alpha16:
                    case Luminance16FAlpha16F:
                    case Luminance8Alpha8:
                    case RGBA16:
                    case RGBA16F:
                    case RGBA32F:
                    case RGBA8:// with these types it is better to make sure if the texture is or is not transparent
                        PixelInputOutput pixelInputOutput = PixelIOFactory.getPixelIO(image.getFormat());
                        TexturePixel pixel = new TexturePixel();
                        int depth = image.getDepth() == 0 ? 1 : image.getDepth();
                        for (int layerIndex = 0; layerIndex < depth; ++layerIndex) {
                            for (int x = 0; x < image.getWidth(); ++x) {
                                for (int y = 0; y < image.getHeight(); ++y) {
                                    pixelInputOutput.read(image, layerIndex, pixel, x, y);
                                    if (pixel.alpha < 1.0f) {
                                        return false;
                                    }
                                }
View Full Code Here

TOP

Related Classes of com.jme3.texture.Image

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.