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