Example #1
0
        def setup_camera():
            # create our camera node
            self.camera = CameraNode('camera', pyrr.matrix44.create_identity())
            self.scene_root.add_child(self.camera)

            # move the camera so we're not inside
            # the root scene node's debug cube
            self.camera.transform.object.translate([0.0, 30.0, 35.0])

            # tilt the camera downward
            self.camera.transform.object.rotate_x(-math.pi / 4.0)
Example #2
0
        def setup_camera():
            # add another node that our camera will be under
            # we can rotate this node to show how the cameras work
            self.camera2_parent = SceneNode('camera2_parent')
            self.scene_root.add_child(self.camera2_parent)

            # create our camera node
            self.camera2 = CameraNode('camera2',
                                      pyrr.matrix44.create_identity())
            self.camera2_parent.add_child(self.camera2)

            # place the camera at the same position as the previous one
            #self.camera2.transform.translation = self.camera.transform.translation
            #self.camera2.transform.orientation = self.camera.transform.orientation
            #self.camera2.transform.scale = self.camera.transform.scale

            self.camera2.transform.object.translate([0.0, 0.0, 35.0])
Example #3
0
    def setup_scene(self):
        # create an fps display
        self.fps_display = pyglet.clock.ClockDisplay()

        # create a list of renderables
        self.renderables = []

        # create a scene
        self.scene_node = SceneNode('root')

        self.grid_node = SceneNode('grid')
        self.scene_node.add_child(self.grid_node)

        self.grid_render_node = RenderCallbackNode('mesh',
                                                   grid.initialise_grid,
                                                   grid.render_grid)
        self.grid_node.add_child(self.grid_render_node)

        # add to our list of renderables
        self.renderables.append(self.grid_render_node)

        # move the grid backward so we can see it
        # and move it down so we start above it
        self.grid_node.transform.inertial.translate([0.0, 0.0, -80.0])

        # create a camera and a view matrix
        self.view_matrix = ProjectionViewMatrix(self.viewport.aspect_ratio,
                                                fov=45.0,
                                                near_clip=1.0,
                                                far_clip=200.0)
        # create a camera
        self.camera = CameraNode('camera', self.view_matrix)
        self.scene_node.add_child(self.camera)

        # move the camera up so it starts above the grid
        self.camera.transform.inertial.translate([0.0, 20.0, 0.0])

        # assign a camera controller
        # we'll use the 6 degrees of freedom
        # camera for this one
        self.camera_controller = SixDOF_Controller(self.camera.transform)
Example #4
0
    def setup_scene(self):
        # create an fps display
        self.fps_display = pyglet.clock.ClockDisplay()

        # store a list of our renderables
        self.renderables = []

        # create a scene
        self.scene_node = SceneNode('root')

        self.mesh_node = SceneNode('obj')
        self.scene_node.add_child(self.mesh_node)

        # create a mesh object and render node
        self.mesh = OBJ_Mesh('examples/data/obj/cessna.obj')
        self.mesh_render_node = RenderCallbackNode('mesh',
                                                   self.initialise_mesh,
                                                   self.render_mesh)
        self.mesh_node.add_child(self.mesh_render_node)

        # add to our list of renderables
        self.renderables.append(self.mesh_render_node)

        # create a camera and a view matrix
        self.view_matrix = ProjectionViewMatrix(self.viewport.aspect_ratio,
                                                fov=45.0,
                                                near_clip=1.0,
                                                far_clip=200.0)
        # create a camera
        self.camera = CameraNode('camera', self.view_matrix)
        self.scene_node.add_child(self.camera)

        # move the camera so we can see the model
        self.camera.transform.object.translate([0.0, 20.0, 30.0])

        # rotate the camera so it is pointing down
        self.camera.transform.object.rotate_x(-math.pi / 4.0)