use of org.terasology.rendering.nui.Color 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);
}
}
}
use of org.terasology.rendering.nui.Color 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);
}
}
}
}
use of org.terasology.rendering.nui.Color in project Terasology by MovingBlocks.
the class TextureAssetResolverTest method testColorTextures.
@Test
public void testColorTextures() {
Random r = new FastRandom(123456);
for (int i = 0; i < 10; i++) {
int rgba = r.nextInt();
Color red = new Color(rgba);
ResourceUrn textureUriForColor = TextureUtil.getTextureUriForColor(red);
String simpleString = textureUriForColor.toString();
Optional<Texture> tex = Assets.getTexture(simpleString);
assertTrue(tex.isPresent());
ByteBuffer dataBuffer = tex.get().getData().getBuffers()[0];
int firstPixel = dataBuffer.asIntBuffer().get(0);
Assert.assertEquals(rgba, firstPixel);
}
}
use of org.terasology.rendering.nui.Color in project Terasology by MovingBlocks.
the class TextureDataFactoryTest method testColorTransformedToTextureUri.
@Test
public void testColorTransformedToTextureUri() throws Exception {
int red = 0x12;
int green = 0x3;
int blue = 0xc4;
int alpha = 0xe;
Color expectedColor = new Color(red, green, blue, alpha);
int expectedRed = 18;
int expectedGreen = 3;
int expectedBlue = -60;
int expectedAlpha = 14;
testRepeatedColorInDataTexture(expectedColor, expectedRed, expectedGreen, expectedBlue, expectedAlpha);
}
use of org.terasology.rendering.nui.Color in project Terasology by MovingBlocks.
the class TextureUtilTest method testColorTransformedToTextureUri.
@Test
public void testColorTransformedToTextureUri() throws Exception {
ResourceUrn assetUri = TextureUtil.getTextureUriForColor(Color.RED);
assertEquals(TerasologyConstants.ENGINE_MODULE, assetUri.getModuleName());
assertEquals(new Name("color"), assetUri.getResourceName());
assertEquals(new Name("ff0000ff"), assetUri.getFragmentName());
int red = 0x12;
int green = 0x3;
int blue = 0xc4;
int alpha = 0xe;
assetUri = TextureUtil.getTextureUriForColor(new Color(red, green, blue, alpha));
assertEquals(TerasologyConstants.ENGINE_MODULE, assetUri.getModuleName());
assertEquals(new Name("color"), assetUri.getResourceName());
assertEquals(new Name("1203c40e"), assetUri.getFragmentName());
}
Aggregations