var objects, floor, box, sphere;

function createFloor() {
    var geometry = new THREE.CircleBufferGeometry(7.5, 8);
    var material = new THREE.MeshStandardMaterial({
        color: 0x333333,
        metalness: 0.2,
        roughness: 0.8
    });
    var floor = new THREE.Mesh(geometry, material);
    floor.position.y = -1;
    floor.rotation.x = -Math.PI / 2;
    floor.receiveShadow = true;
    return floor;
}

function createBox() {
    var geometry = new THREE.BoxBufferGeometry(2, 2, 2);
    var material = new THREE.MeshStandardMaterial({
        color: 0x66aaff,
        shading: THREE.FlatShading,
        metalness: 0.2,
        roughness: 0.1
    });
    var box = new THREE.Mesh(geometry, material);
    box.receiveShadow = true;
    box.castShadow = true;
    return box;
}

function createSphere() {
    var geometry = new THREE.IcosahedronGeometry(1, 2);
    var material = new THREE.MeshStandardMaterial({
        color: 0xff66aa,
        metalness: 0.2,
        roughness: 0.1
    });
    var sphere = new THREE.Mesh(geometry, material);
    sphere.receiveShadow = true;
    sphere.castShadow = true;
    return sphere;
}

floor = createFloor();
box = createBox();
sphere = createSphere();

objects = [];
objects.push(floor);
objects.push(box);
objects.push(sphere);


@@ -188,16 +188,41 @@
 333333,%0A
+        dithering: true,%0A
         
@@ -229,32 +229,32 @@
 metalness: 0.2,%0A
-
         roughnes
@@ -594,16 +594,41 @@
 66aaff,%0A
+        dithering: true,%0A
         
@@ -962,32 +962,32 @@
 ndardMaterial(%7B%0A
-
         color: 0
@@ -995,16 +995,41 @@
 ff66aa,%0A
+        dithering: true,%0A
         

Add dithering