def start(): # initialize oculus rift avango.oculus.initOVR() # create scene Scene = scene.create() # create and launch viewer viewer = SimpleViewer() viewer.SceneGraph.value = Scene gpMat = viewer.green_pointer.MatrixOut.value bpMat = viewer.blue_pointer.MatrixOut # create loader for geometries loader = avango.gua.nodes.GeometryLoader() monkey_node = loader.create_geometry_from_file('monkey', 'data/objects/sphere.obj', 'White', avango.gua.LoaderFlags.DEFAULTS) monkey_node.Transform.value = avango.gua.make_scale_mat(0.2, 0.2, 0.2) m_transform = avango.gua.nodes.TransformNode(Name = 'm1') m_transform.Transform.value = avango.gua.make_trans_mat(0, 0, 0) m_transform.Children.value.append(monkey_node) Scene.Root.value.Children.value.append(m_transform) m_transform.Transform.connect_from(viewer.blue_pointer.MatrixOut) monkey2_node = loader.create_geometry_from_file('monkey2', 'data/objects/sphere.obj', 'White', avango.gua.LoaderFlags.DEFAULTS) monkey2_node.Transform.value = avango.gua.make_scale_mat(0.2, 0.2, 0.2) m2_transform = avango.gua.nodes.TransformNode(Name = 'm2') m2_transform.Transform.value = avango.gua.make_trans_mat(0, 0, 0) m2_transform.Children.value.append(monkey2_node) Scene.Root.value.Children.value.append(m2_transform) m2_transform.Transform.connect_from(viewer.green_pointer.MatrixOut) viewer.run(locals(), globals())
def start(): avango.gua.load_shading_models_from("data/materials") avango.gua.load_materials_from("data/materials") graph = scene.create() eye = avango.gua.nodes.TransformNode(Name="eye", Transform=avango.gua.make_trans_mat( 0, 0, 4)) screen_size = avango.gua.Vec2(8, 4.5) screen = avango.gua.nodes.ScreenNode(Name="screen", Width=screen_size.x, Height=screen_size.y, Children=[eye]) graph.Root.value.Children.value.append(screen) camera = avango.gua.nodes.Camera(LeftEye=eye.Path.value, LeftScreen=screen.Path.value, SceneGraph=graph.Name.value) split_screens = DynamicSplitScreens(GraphIn=graph, WindowSize=size) split_screens.init( 5, lambda: avango.gua.nodes.Pipeline( LeftResolution=size, BackgroundTexture="data/textures/checker.png", BackgroundMode=avango.gua.BackgroundMode.SKYMAP_TEXTURE, AmbientColor=avango.gua.Color(1, 1, 1))) split_screens.add_split_screen(camera, avango.gua.Vec2(0, 0)) def split(split_pos): return create_split_screen(graph, split_pos, split_screens, screen_size) def unsplit(split_screen): remove_split(graph, split_screen, split_screens) split_screen_handler = SplitScreenHandler() split_screen_handler.SplitScreens = split_screens #setup viewer viewer = avango.gua.nodes.Viewer(DesiredFPS=50) viewer.Pipelines.value = [split_screens.PipelineOut.value] viewer.SceneGraphs.value = [split_screens.GraphOut.value, graph] guaVE = GuaVE() guaVE.start(locals(), globals()) viewer.run()
def start(): avango.gua.load_shading_models_from("data/materials") avango.gua.load_materials_from("data/materials") graph = scene.create() eye = avango.gua.nodes.TransformNode( Name = "eye", Transform = avango.gua.make_trans_mat(0, 0, 4) ) screen_size = avango.gua.Vec2(8, 4.5) screen = avango.gua.nodes.ScreenNode( Name = "screen", Width = screen_size.x, Height = screen_size.y, Children = [eye] ) graph.Root.value.Children.value.append(screen) camera = avango.gua.nodes.Camera( LeftEye = eye.Path.value, LeftScreen = screen.Path.value, SceneGraph = graph.Name.value ) split_screens = DynamicSplitScreens( GraphIn = graph, WindowSize = size ) split_screens.init(5, lambda: avango.gua.nodes.Pipeline( LeftResolution = size, BackgroundTexture = "data/textures/checker.png", BackgroundMode = avango.gua.BackgroundMode.SKYMAP_TEXTURE, AmbientColor = avango.gua.Color(1, 1, 1) ) ) split_screens.add_split_screen(camera, avango.gua.Vec2(0, 0)) def split(split_pos): return create_split_screen(graph, split_pos, split_screens, screen_size) def unsplit(split_screen): remove_split(graph, split_screen, split_screens) split_screen_handler = SplitScreenHandler() split_screen_handler.SplitScreens = split_screens #setup viewer viewer = avango.gua.nodes.Viewer( DesiredFPS = 50 ) viewer.Pipelines.value = [split_screens.PipelineOut.value] viewer.SceneGraphs.value = [split_screens.GraphOut.value, graph] guaVE = GuaVE() guaVE.start(locals(), globals()) viewer.run()