mgr = ShapeManager() mgr.add('t1', t) mgr.add('t2', t2) origin = Vector3(0.2, 0.4, 0.6) direction = Vector3(1.2, 1.1, 1.12) direction.normalize() ray = Ray(origin, direction) linear = LinearIsect(mgr) hit = linear.isect(ray) runtime = Runtime() linear.isect_asm([runtime], 'ray_scene_intersection') code = "#DATA \n" code += Ray.asm_struct() + HitPoint.asm_struct() + """ Ray ray1 Hitpoint hp1 uint32 ret #CODE macro mov eax, ray1 macro mov ebx, hp1 call ray_scene_intersection mov dword [ret], eax #END """ asm = create_assembler()