def test_cube( self ):
     objfile = """
     v 0.000000 2.000000 2.000000
     v 0.000000 0.000000 2.000000
     v 2.000000 0.000000 2.000000
     v 2.000000 2.000000 2.000000
     v 0.000000 2.000000 0.000000
     v 0.000000 0.000000 0.000000
     v 2.000000 0.000000 0.000000
     v 2.000000 2.000000 0.000000
     f 1 2 3 4
     f 8 7 6 5
     f 4 3 7 8
     f 5 1 4 8
     f 5 6 2 1
     f 2 6 7 3
     """
     data = objfile.split('\n')
     mesh = OBJ_Mesh( '' )
     mesh.load_data( data )
    def test_interleaved_mesh( self ):
        objfile = """
        v 0.000000 2.000000 2.000000
        v 0.000000 0.000000 2.000000
        v 2.000000 0.000000 2.000000
        v 2.000000 2.000000 2.000000
        f -4 -3 -2 -1

        v 2.000000 2.000000 0.000000
        v 2.000000 0.000000 0.000000
        v 0.000000 0.000000 0.000000
        v 0.000000 2.000000 0.000000
        f -4 -3 -2 -1

        v 2.000000 2.000000 2.000000
        v 2.000000 0.000000 2.000000
        v 2.000000 0.000000 0.000000
        v 2.000000 2.000000 0.000000
        f -4 -3 -2 -1

        v 0.000000 2.000000 0.000000
        v 0.000000 2.000000 2.000000
        v 2.000000 2.000000 2.000000
        v 2.000000 2.000000 0.000000
        f -4 -3 -2 -1

        v 0.000000 2.000000 0.000000
        v 0.000000 0.000000 0.000000
        v 0.000000 0.000000 2.000000
        v 0.000000 2.000000 2.000000
        f -4 -3 -2 -1

        v 0.000000 0.000000 2.000000
        v 0.000000 0.000000 0.000000
        v 2.000000 0.000000 0.000000
        v 2.000000 0.000000 2.000000
        f -4 -3 -2 -1
        """
        data = objfile.split('\n')
        mesh = OBJ_Mesh( '' )
        mesh.load_data( data )
 def test_quad( self ):
     objfile = """
     # comment
     v -1.00000 -1.00000 0.00000 1.00000
     v 1.00000 -1.00000 0.00000 1.00000
     v 1.00000 1.00000 0.00000 1.00000
     v -1.00000 1.00000 0.0000 1.00000
     vn 1.0 0.0 0.0 1.0
     vn 0.0 1.0 0.0 1.0
     vn 0.0 0.0 1.0 1.0
     vn 1.0 0.0 0.0 1.0
     vt 0.0 0.0
     vt 1.0 0.0
     vt 0.0 1.0
     vt 1.0 1.0
     f 1 2 3 4
     f 1/1 2/2 3/3 4/4
     f 1/1/1 2/2/2 3/3/3 4/4/4
     f 1//1 2//2 3//3 4//4
     """
     data = objfile.split('\n')
     mesh = OBJ_Mesh( '' )
     mesh.load_data( data )
Exemple #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)