Example #1
0
    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)
Example #2
0
    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)