use of org.terasology.nui.Color in project Terasology by MovingBlocks.
the class VertexGLAttributeTest method testColorBinding.
@Test
public void testColorBinding() {
VertexResourceBuilder builder = new VertexResourceBuilder();
VertexAttributeBinding<Colorc, Color> a1 = builder.add(0, GLAttributes.COLOR_4_F_VERTEX_ATTRIBUTE);
VertexResource resource = builder.build();
a1.put(Color.white);
a1.put(Color.red);
a1.put(Color.green);
a1.put(Color.blue);
assertEquals(4, a1.getPosition());
int stride = Float.BYTES * 4;
resource.writeBuffer(buffer -> {
assertEquals(4 * 4 * Float.BYTES, buffer.limit());
assertEquals(1.0f, buffer.getFloat(Float.BYTES * 0), 0.001f);
assertEquals(1.0f, buffer.getFloat(Float.BYTES * 1), 0.001f);
assertEquals(1.0f, buffer.getFloat(Float.BYTES * 2), 0.001f);
assertEquals(1.0f, buffer.getFloat(Float.BYTES * 3), 0.001f);
assertEquals(1.0f, buffer.getFloat(stride + Float.BYTES * 0));
assertEquals(0, buffer.getFloat(stride + Float.BYTES * 1));
assertEquals(0, buffer.getFloat(stride + Float.BYTES * 2));
assertEquals(1.0f, buffer.getFloat(stride + Float.BYTES * 3));
assertEquals(0, buffer.getFloat((2 * stride) + Float.BYTES * 0));
assertEquals(1.0f, buffer.getFloat((2 * stride) + Float.BYTES * 1));
assertEquals(0, buffer.getFloat((2 * stride) + Float.BYTES * 2));
assertEquals(1.0f, buffer.getFloat((2 * stride) + Float.BYTES * 3));
assertEquals(0, buffer.getFloat((3 * stride) + Float.BYTES * 0));
assertEquals(0, buffer.getFloat((3 * stride) + Float.BYTES * 1));
assertEquals(1.0f, buffer.getFloat((3 * stride) + Float.BYTES * 2));
assertEquals(1.0f, buffer.getFloat((3 * stride) + Float.BYTES * 3));
});
}
use of org.terasology.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);
assertEquals(rgba, firstPixel);
}
}
use of org.terasology.nui.Color in project Terasology by MovingBlocks.
the class TextureUtilTest method testColorNameTransformedToColor.
@Test
public void testColorNameTransformedToColor() throws Exception {
Color actualColor = TextureUtil.getColorForColorName("ff0000ff");
Color expectedColor = Color.RED;
assertEquals(expectedColor, actualColor);
actualColor = TextureUtil.getColorForColorName("1203c40e");
int red = 0x12;
int green = 0x3;
int blue = 0xc4;
int alpha = 0xe;
expectedColor = new Color(red, green, blue, alpha);
assertEquals(expectedColor, actualColor);
}
use of org.terasology.nui.Color in project Terasology by MovingBlocks.
the class ColorTypeHandlerTest method testSerialize.
@Test
public void testSerialize() {
PersistedDataSerializer persistedDataSerializer = Mockito.mock(PersistedDataSerializer.class);
handler.serialize(new Color(0x010380FF), persistedDataSerializer);
Mockito.verify(persistedDataSerializer).serialize(1, 3, 128, 255);
}
use of org.terasology.nui.Color in project Terasology by MovingBlocks.
the class ColorTypeHandlerTest method testDeserializeArray.
@Test
public void testDeserializeArray() {
JsonArray array = new Gson().fromJson("[12, 34, 56, 78]", JsonArray.class);
PersistedData data = new GsonPersistedDataArray(array);
Color color = handler.deserialize(data).get();
assertEquals(12, color.r());
assertEquals(34, color.g());
assertEquals(56, color.b());
assertEquals(78, color.a());
}
Aggregations