Search in sources :

Example 1 with Color

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));
    });
}
Also used : VertexResource(org.terasology.engine.rendering.assets.mesh.resource.VertexResource) VertexResourceBuilder(org.terasology.engine.rendering.assets.mesh.resource.VertexResourceBuilder) Colorc(org.terasology.nui.Colorc) Color(org.terasology.nui.Color) Test(org.junit.Test)

Example 2 with Color

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);
    }
}
Also used : Random(org.terasology.engine.utilities.random.Random) FastRandom(org.terasology.engine.utilities.random.FastRandom) Color(org.terasology.nui.Color) FastRandom(org.terasology.engine.utilities.random.FastRandom) ResourceUrn(org.terasology.gestalt.assets.ResourceUrn) ByteBuffer(java.nio.ByteBuffer) Test(org.junit.jupiter.api.Test)

Example 3 with Color

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);
}
Also used : Color(org.terasology.nui.Color) Test(org.junit.jupiter.api.Test)

Example 4 with Color

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);
}
Also used : PersistedDataSerializer(org.terasology.persistence.typeHandling.PersistedDataSerializer) Color(org.terasology.nui.Color) Test(org.junit.jupiter.api.Test)

Example 5 with Color

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());
}
Also used : JsonArray(com.google.gson.JsonArray) Color(org.terasology.nui.Color) Gson(com.google.gson.Gson) PersistedData(org.terasology.persistence.typeHandling.PersistedData) GsonPersistedDataArray(org.terasology.engine.persistence.typeHandling.gson.GsonPersistedDataArray) Test(org.junit.jupiter.api.Test)

Aggregations

Color (org.terasology.nui.Color)39 Test (org.junit.jupiter.api.Test)9 Vector3f (org.joml.Vector3f)5 ByteBuffer (java.nio.ByteBuffer)3 Mesh (org.terasology.engine.rendering.assets.mesh.Mesh)3 ResourceUrn (org.terasology.gestalt.assets.ResourceUrn)3 Colorc (org.terasology.nui.Colorc)3 ColorModel (java.awt.image.ColorModel)2 DataBufferInt (java.awt.image.DataBufferInt)2 Vector2f (org.joml.Vector2f)2 Vector3fc (org.joml.Vector3fc)2 Vector4f (org.joml.Vector4f)2 Test (org.junit.Test)2 ColorConstraint (org.terasology.engine.config.flexible.constraints.ColorConstraint)2 EntityRef (org.terasology.engine.entitySystem.entity.EntityRef)2 StandardMeshData (org.terasology.engine.rendering.assets.mesh.StandardMeshData)2 VertexResource (org.terasology.engine.rendering.assets.mesh.resource.VertexResource)2 VertexResourceBuilder (org.terasology.engine.rendering.assets.mesh.resource.VertexResourceBuilder)2 ParagraphRenderStyle (org.terasology.engine.rendering.nui.widgets.browser.ui.style.ParagraphRenderStyle)2 FastRandom (org.terasology.engine.utilities.random.FastRandom)2