 
 	sample->posOnLens = screenPos;
 	sample->nmlOnLens = camera->dir;
-	sample->r = Ray(camera->origin, dirToScr);
+	sample->r = aten::ray(camera->origin, dirToScr);
 }
 
 __host__ __device__ bool intersect(
-	const Ray* r, hitrecord* rec,
+	const aten::ray* r, hitrecord* rec,
 	const Context* ctx)
 {
 	bool isHit = false;

}

static Sphere g_spheres[] = {
	Sphere(make_float3(0, 0, -10), 1.0, 0),
	Sphere(make_float3(3, 0, -10), 1.0, 1),
};

void renderRayTracing(


__host__ void initCamera(
	Camera& camera,
	const aten::vec3& origin,
	const aten::vec3& lookat,
	const aten::vec3& up,
	float vfov,	// vertical fov.
	uint32_t width, uint32_t height)
{
