Ejemplo n.º 1
0
    def __init__(self):
        self.scene_mngr = None
        self.rend_mngr = None
        self.screen = None

        # create opengl context and ui
        ng.init()
        self.screen = MainScreen(title='Window title')

        # register mouse and keyboard event handlers
        self.screen.reg_mouse_motion_handler(self.mouse_motion_handler)
        self.screen.reg_keyboard_handler(self.keyboard_handler)

        # create a scene
        self.scene_mngr = SceneManager()
        main_scene = self.setup_scene()
        self.scene_mngr.add_scene(main_scene)

        # create renderers for the screen
        # NOTE: adding a renderer needs an opengl context initialized!
        self.rend_mngr = RendererManager()
        screen_rend = self.rend_mngr.add_renderer('screen',
                                                  main_scene,
                                                  camera='main')

        # register screen draw callback
        self.screen.reg_screen_draw_handler(screen_rend.draw_handler)

        # register screen resize callback
        self.screen.reg_screen_resize_handler(screen_rend.resize_handler)

        self.screen.drawAll()
        self.screen.setVisible(True)
Ejemplo n.º 2
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('audiofiles', nargs='*')
    parser.add_argument('--norm',
                        action='store_true',
                        default=False,
                        help='normalizes input audio')
    parser.add_argument('--info',
                        '-i',
                        action='store_true',
                        default=False,
                        help='prints info')
    parser.add_argument('--nogui',
                        action='store_true',
                        default=False,
                        help='commandline mode')
    parser.add_argument('--play',
                        action='store_true',
                        default=False,
                        help='plays on startup')
    parser.add_argument('--action', '-a')

    args = parser.parse_args()

    songs = []
    for audiofile in args.audiofiles:
        # nomix.add_layer(audiofile)
        songs.append(open_song_from_file(audiofile))

    # if args.norm:
    #     for song in songs:
    #         normalize(song)

    if args.info:
        for song in songs:
            print_info(song)
        return

    if args.nogui:
        return

    nanogui.init()
    nomix = NomixApp()
    i = 0
    if songs:
        for song in songs:
            nomix.add_layer(str(i), song)
            i += 1
        nomix.redraw_spect()
    nomix_set_status('[+] Initialized')
    print('[+] starting in gui mode')
    nomix.drawAll()
    nomix.setVisible(True)
    if args.play:
        nomix.engine.play(0)
    nanogui.mainloop()
    del nomix
    gc.collect()
    nanogui.shutdown()
Ejemplo n.º 3
0
def compare_voxel_grids(names, data):
    nanogui.init()

    app = VoxelGridViewer([x for x in zip(names, data)])
    app.drawAll()
    app.setVisible(True)

    nanogui.mainloop()
    del app
    gc.collect()
    nanogui.shutdown()
Ejemplo n.º 4
0
strvar = "A string"
enumvar = 1
colvar = nanogui.Color(.5, .5, .7, 1)


def make_accessors(name):
    def setter(value):
        globals()[name] = value

    def getter():
        return globals()[name]

    return setter, getter


nanogui.init()

use_gl_4_1 = False  # Set to True to create an OpenGL 4.1 context.
if use_gl_4_1:
    # NanoGUI presents many options for you to utilize at your discretion.
    # See include/nanogui/screen.h for what all of the options are.
    screen = Screen(Vector2i(500, 700),
                    "NanoGUI test [GL 4.1]",
                    glMajor=4,
                    glMinor=1)
else:
    screen = Screen(Vector2i(500, 700), "NanoGUI test")

gui = FormHelper(screen)
window = gui.addWindow(Vector2i(10, 10), "Form helper example")
Ejemplo n.º 5
0
                 [0, 0, 1, 0],
                 [0, 0, 0, 1]],
                dtype=np.float32
            )

            mvp[0:3, 0:3] *= 0.25
            mvp[0, :] *= self.size()[1] / self.size()[0]

            self.shader.setUniform("modelViewProj", mvp)
            self.shader.drawIndexed(gl.TRIANGLES, 0, 2)
        super(TestApp, self).drawContents()

    def keyboardEvent(self, key, scancode, action, modifiers):
        if super(TestApp, self).keyboardEvent(key, scancode,
                                              action, modifiers):
            return True
        if key == glfw.KEY_ESCAPE and action == glfw.PRESS:
            self.setVisible(False)
            return True
        return False

if __name__ == "__main__":
    nanogui.init()
    test = TestApp()
    test.drawAll()
    test.setVisible(True)
    nanogui.mainloop()
    del test
    gc.collect()
    nanogui.shutdown()