origin = Vector3(x, y, z) direction = Vector3(dir_x, dir_y, dir_z) direction.normalize() ray = Ray(origin, direction) return ray def v4(v3): return (v3.x, v3.y, v3.z, 0.0) if __name__ == "__main__": asm = util.get_asm() mc = asm.assemble(ASM) #mc.print_machine_code() runtime = Runtime() Plane.intersectbool_asm(runtime, "_plane_intersect") ds = runtime.load("test", mc) for x in range(100000): #pl = generate_plane() pl = Plane.generate_plane() ray = generate_ray() ds["r1.origin"] = v4(ray.origin) ds["r1.dir"] = v4(ray.dir) ds["p1.point"] = v4(pl.point) ds["p1.normal"] = v4(pl.normal) ds["p1.mat_index"] = pl.material h = pl.intersect(ray)
direction = Vector3(dir_x, dir_y, dir_z) direction.normalize() ray = Ray(origin, direction) return ray def v4(v3): return (v3.x, v3.y, v3.z, 0.0) if __name__ == "__main__": asm = util.get_asm() mc = asm.assemble(ASM) #mc.print_machine_code() runtime = Runtime() Plane.intersectbool_asm(runtime, "_plane_intersect") ds = runtime.load("test", mc) for x in range(100000): #pl = generate_plane() pl = Plane.generate_plane() ray = generate_ray() ds["r1.origin"] = v4(ray.origin) ds["r1.dir"] = v4(ray.dir) ds["p1.point"] = v4(pl.point) ds["p1.normal"] = v4(pl.normal) ds["p1.mat_index"] = pl.material h = pl.intersect(ray)