Esempio n. 1
0
double			compute_ray(int x, int y, t_env *e)
{
	t_vec		pixel;

	pixel = vec_int(MUL, e->right, (e->indent.x * (double)x));
	pixel = vec_vec(SUB, pixel, vec_int(MUL, e->up, (e->indent.y * (double)y)));
	pixel = vec_vec(ADD, vec_vec(SUB, e->view_upleft, e->ray.pos), pixel);
	e->ray.dir = norm(pixel);
	e->ray.t = compute_intersect(e, e->ray);
	if (e->ray.t)
	{
		if (compute_light(e))
			return (0);
		return (1);
	}
	return (0);
}
Esempio n. 2
0
vec_int CPathProductor::ProductPath(int nFrom, int nTo)
{ 
	m_nFrom = nFrom;
	m_nTo = nTo;
	
	InitGraph();
	
	if (AStarFind() > 0)
	{
		return m_arrayPath;
	}
	return vec_int();
}