sun.set_specular(GL::Color(0.0));
lighting.set_ambient(GL::Color(0.2));
lighting.attach(0, sun);
+ lighting.set_sky_color(GL::Color(0.2));
+ lighting.set_horizon_angle(Geometry::Angle<float>::from_degrees(5));
layout.signal_object_added.connect(sigc::mem_fun(this, &Layout3D::object_added));
layout.signal_object_removed.connect(sigc::mem_fun(this, &Layout3D::object_removed));
Transform::rotation(Angle::half_turn()-time_of_day, Vector(0, 0, 1))*
Transform::rotation(axial_tilt, Vector(-1, 0, 0));
Vector sun_dir = trans.transform_linear(Vector(0, -1, 0));
- Vector diff = Vector(sun.get_position())-sun_dir;
+ Vector diff = sun.get_position().slice<3>(0)-sun_dir;
if(diff.norm()>0.0025f)
- sun.set_position(GL::Vector4(sun_dir, 0.0f));
+ sun.set_position(compose(sun_dir, 0.0f));
double T = 5777;
double h = 6.62606957e-34; // Planck constant
}
GL::Color skylight_color = spectrum_to_rgb(skylight_spectrum)*(2e-15/total_weight);
- lighting.set_ambient(skylight_color*0.5);
+ lighting.set_sky_color(skylight_color*0.65);
+ lighting.set_ambient(skylight_color*0.35);
}
void Layout3D::object_added(Object &o)