2#include <Threedim/LiveLink/Protocol.hpp>
4#include <ossia/dataflow/geometry_port.hpp>
11namespace Threedim::LiveLink
14inline void apply_light(ossia::light_component& lc,
const light_record& r)
18 case light_record::directional:
19 lc.type = ossia::light_type::directional;
21 case light_record::spot:
22 lc.type = ossia::light_type::spot;
25 lc.type = ossia::light_type::point;
28 std::memcpy(lc.color, r.color,
sizeof(lc.color));
29 lc.intensity = r.intensity;
31 lc.inner_cone_angle = r.inner_cone;
32 lc.outer_cone_angle = r.outer_cone;
35inline void apply_camera(ossia::camera_component& cc,
const camera_record& r)
37 if(r.projection == camera_record::orthographic)
39 cc.projection = ossia::camera_projection::orthographic;
45 cc.projection = ossia::camera_projection::perspective;
47 cc.aspect_ratio = r.aspect > 0.f ? r.aspect : 1.f;
50 cc.zfar = r.zfar > 0.f ? r.zfar : 1000.f;