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); }
vec_int CPathProductor::ProductPath(int nFrom, int nTo) { m_nFrom = nFrom; m_nTo = nTo; InitGraph(); if (AStarFind() > 0) { return m_arrayPath; } return vec_int(); }