def __init__(self, **kwargs): self.canvas_size = kwargs.get("canvas_size", Window.size) super(Layout3D, self).__init__(**kwargs) effectwidget.C_SIZE = self.canvas_size with self.canvas.before: Color(1.0, 1.0, 1.0, 1.0) ClearColor(1.0, 1.0, 1.0, 1.0) self.create_canvas() self.effect_widget = BlurEffectWidget(mask_effect=self.canvas3d.picking_fbo, motion_effect=self.canvas3d.motion_blur_fbo) if self._init_request[0]: self.post_processing = not self._init_request[1] self.post_processing = self._init_request[1] self._init_request[0] = True from kivy3dgui.canvas3d import label, label_debug label.parent = None try: self.add_widget(label) self.add_widget(label_debug) except Exception as w: pass
def __init__(self, **kwargs): self.canvas_size = kwargs.get("canvas_size", Window.size) super(Layout3D, self).__init__(**kwargs) self._trigger_layout = Clock.create_trigger(self.do_layout, -1) effectwidget.C_SIZE = self.canvas_size with self.canvas.before: Color(1.0, 1.0, 1.0, 1.0) ClearColor(1.0, 1.0, 1.0, 1.0) self.create_canvas() self.bind(look_at=self.canvas3d.setter('look_at')) self.bind(shadow_offset=self.canvas3d.setter('_shadow_offset')) self.bind(shadow_threshold=self.canvas3d.setter('shadow_threshold')) self.bind(shadow_origin=self.canvas3d.setter('_shadow_pos')) self.bind(shadow_target=self.canvas3d.setter('_shadow_target')) self.bind(picking_scale=self.canvas3d.setter('picking_scale')) self.bind(canvas_size=self.canvas3d.setter('canvas_size')) self.effect_widget = BlurEffectWidget( mask_effect=self.canvas3d.picking_fbo, motion_effect=self.canvas3d.motion_blur_fbo) if self._init_request[0]: self.post_processing = not self._init_request[1] self.post_processing = self._init_request[1] self._init_request[0] = True from kivy3dgui.canvas3d import label, label_debug label.parent = None try: self.add_widget(label) self.add_widget(label_debug) except Exception as w: pass self.render_texture = Image(size_hint=(1.0, 1.0), allow_stretch=True, keep_ratio=False) self.add_widget(self.render_texture, 100000) self.render_texture.texture = self.canvas3d.canvas.texture self.bind(pos=self.render_texture.setter('pos')) self.bind(size=self.render_texture.setter('size'))