Due to the way material are working now, we need to set by hand (for now) that the material is set.

This commit is contained in:
Godzil
2020-03-09 14:17:08 +00:00
parent efa47f28ca
commit d514219ae6

View File

@@ -46,11 +46,12 @@ Shape *fir_branch()
branch->material.ambient = 0.2;
branch->material.specular = 0;
branch->material.diffuse = 0.6;
branch->materialSet = true;
ret->addObject(branch);
double seq_size = length / (segments - 1);
double theta = 2.1 * M_PI / perSegment;
double maxLenght = 20 * radius;
double maxLength = 20 * radius;
int y, i;
Triangle *needle;
@@ -69,7 +70,7 @@ Shape *fir_branch()
* around the branch */
double yAngle = i * theta + frand() * theta;
/* How long is the needle? */
double needleLenght = maxLenght / 2 * (1 + frand());
double needleLenght = maxLength / 2 * (1 + frand());
/* How much is the needle offset fomr the center of the branch? */
double ofs = radius / 2;
Point p1 = Point(ofs, yBase, ofs);
@@ -79,6 +80,7 @@ Shape *fir_branch()
needle->setTransform(rotationY(yAngle));
needle->material.colour = Colour(0.26, 0.36, 0.16);
needle->material.specular = 0.1;
needle->materialSet = true;
subGroup->addObject(needle);
}
ret->addObject(subGroup);
@@ -104,6 +106,7 @@ int main()
light1Sphere.material.ambient = 0.6;
light1Sphere.material.diffuse = 0;
light1Sphere.material.specular = 0;
light1Sphere.materialSet = true;
w.addObject(&light1Sphere);
Light light2 = Light(POINT_LIGHT, Point(10, 10, -10), Colour(0.6, 0.6, 0.6));
@@ -115,6 +118,7 @@ int main()
light2Sphere.material.ambient = 0.6;
light2Sphere.material.diffuse = 0;
light2Sphere.material.specular = 0;
light2Sphere.materialSet = true;
w.addObject(&light2Sphere);
Light light3 = Light(POINT_LIGHT, Point(-2, 1, -6), Colour(0.2, 0.1, 0.1));
@@ -126,6 +130,7 @@ int main()
light3Sphere.material.ambient = 0.6;
light3Sphere.material.diffuse = 0;
light3Sphere.material.specular = 0;
light3Sphere.materialSet = true;
w.addObject(&light3Sphere);
Light light4 = Light(POINT_LIGHT, Point(-1, -2, -6), Colour(0.1, 0.2, 0.1));
@@ -137,6 +142,7 @@ int main()
light4Sphere.material.ambient = 0.6;
light4Sphere.material.diffuse = 0;
light4Sphere.material.specular = 0;
light4Sphere.materialSet = true;
w.addObject(&light4Sphere);
Light light5 = Light(POINT_LIGHT, Point(3, -1, -6), Colour(0.2, 0.2, 0.2));
@@ -148,6 +154,7 @@ int main()
light5Sphere.material.ambient = 0.6;
light5Sphere.material.diffuse = 0;
light5Sphere.material.specular = 0;
light5Sphere.materialSet = true;
w.addObject(&light5Sphere);
/* ----------------------------- */
@@ -158,6 +165,7 @@ int main()
theBall.material.specular = 0;
theBall.material.diffuse = 0.5;
theBall.material.reflective = 0.5;
theBall.materialSet = true;
w.addObject(&theBall);
Cylinder crown = Cylinder();
@@ -171,6 +179,7 @@ int main()
crown.material.specular = 0.8;
crown.material.shininess = 20;
crown.material.reflective = 0.05;
crown.materialSet = true;
w.addObject(&crown);
/* ----------------------------- */