Search in sources :

Example 1 with ColorBlender

use of org.terasology.engine.world.viewer.color.ColorBlender in project Terasology by MovingBlocks.

the class NominalFacetLayer method render.

@Override
public void render(BufferedImage img, Region region) {
    ObjectFacet2D<E> facet = region.getFacet(facetClass);
    int width = img.getWidth();
    int height = img.getHeight();
    ColorModel colorModel = img.getColorModel();
    ColorBlender blender = ColorBlenders.forColorModel(ColorModels.RGBA, colorModel);
    DataBufferInt dataBuffer = (DataBufferInt) img.getRaster().getDataBuffer();
    for (int z = 0; z < height; z++) {
        for (int x = 0; x < width; x++) {
            Color src = getColor(facet, x, z);
            if (src != null) {
                int blend = blender.get(src.rgba());
                dataBuffer.setElem(z * width + x, blend);
            }
        }
    }
}
Also used : ColorBlender(org.terasology.engine.world.viewer.color.ColorBlender) ColorModel(java.awt.image.ColorModel) Color(org.terasology.nui.Color) DataBufferInt(java.awt.image.DataBufferInt)

Example 2 with ColorBlender

use of org.terasology.engine.world.viewer.color.ColorBlender in project Terasology by MovingBlocks.

the class FieldFacetLayer method render.

@Override
public void render(BufferedImage img, Region region) {
    FieldFacet2D facet = region.getFacet(clazz);
    int width = img.getWidth();
    int height = img.getHeight();
    ColorModel colorModel = img.getColorModel();
    ColorBlender blender = ColorBlenders.forColorModel(ColorModels.RGBA, colorModel);
    DataBufferInt dataBuffer = (DataBufferInt) img.getRaster().getDataBuffer();
    for (int z = 0; z < height; z++) {
        for (int x = 0; x < width; x++) {
            Color col = getColor(facet, x, z);
            int src = col.rgba();
            int dst = dataBuffer.getElem(z * width + x);
            int mix = blender.add(src, dst);
            dataBuffer.setElem(z * width + x, mix);
        }
    }
}
Also used : FieldFacet2D(org.terasology.engine.world.generation.facets.base.FieldFacet2D) ColorBlender(org.terasology.engine.world.viewer.color.ColorBlender) ColorModel(java.awt.image.ColorModel) Color(org.terasology.nui.Color) DataBufferInt(java.awt.image.DataBufferInt)

Aggregations

ColorModel (java.awt.image.ColorModel)2 DataBufferInt (java.awt.image.DataBufferInt)2 ColorBlender (org.terasology.engine.world.viewer.color.ColorBlender)2 Color (org.terasology.nui.Color)2 FieldFacet2D (org.terasology.engine.world.generation.facets.base.FieldFacet2D)1