camera.normalize() if not started: begin_render() started = True return inner UI.label('Turn',(15,50+20*ntracer.dimension)) for i,dd in enumerate(itertools.combinations(list(range(ntracer.dimension)),2)): UI.slider( '{0} -> {1}'.format(*list(map(d_symbol,dd))), (15,70+20*(i+ntracer.dimension)), rotate(*dd)) camera = ntracer.Camera() camera.translate(ntracer.Vector.axis(2,-5)) r = PygameRenderer() def begin_render(): scene.set_camera(camera) r.begin_render(next_img,scene) begin_render() while True: e = pygame.event.wait() if e.type == pygame.MOUSEMOTION: UI.on_mousemove(e) elif e.type == pygame.MOUSEBUTTONDOWN: UI.on_mousedown(e)
hull = p.hull() timing = timer() - timing print('done in {0} seconds'.format(timing)) cam_distance = -math.sqrt(p.circumradius_square()) * args.cam_dist print('partitioning scene...') timing = timer() scene = nt.build_composite_scene(hull) timing = timer() - timing print('done in {0} seconds'.format(timing)) del p del hull camera = nt.Camera() camera.translate(nt.Vector.axis(2,cam_distance) + jitter) scene.set_camera(camera) scene.set_fov(args.fov) if args.output is not None: if args.type != 'png': render = BlockingRenderer() format = ImageFormat( args.screen[0], args.screen[1], [Channel(16,1,0,0), Channel(16,0,1,0), Channel(16,0,0,1)])