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)
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])
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)
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)