void raycasting(t_wolf *wolf, t_bunny_pixelarray *pix) { int x; x = 0; while (x < pix->clipable.clip_width) { wolf->camerax = 2 * x / (double)pix->clipable.clip_width - 1; wolf->ray.rayPosX = wolf->player.x; wolf->ray.rayPosY = wolf->player.y; wolf->ray.rayDirX = wolf->player.dirX + wolf->plane.X * wolf->camerax; wolf->ray.rayDirY = wolf->player.dirY + wolf->plane.Y * wolf->camerax; wolf->mapX = (int)wolf->ray.rayPosX; wolf->mapY = (int)wolf->ray.rayPosY; wolf->deltaDistX = sqrt(1 + (wolf->ray.rayDirY * wolf->ray.rayDirY) / (wolf->ray.rayDirX * wolf->ray.rayDirX)); wolf->deltaDistY = sqrt(1 + (wolf->ray.rayDirX * wolf->ray.rayDirX) / (wolf->ray.rayDirY * wolf->ray.rayDirY)); side_dist(wolf); side_hit(wolf); get_height(wolf, pix); my_draw(wolf, pix, x); x = x + 1; } }
void display_map(t_list **list, t_dat *dat, char *data) { t_list *point1; t_list *point2; point1 = *list; while (point1 != NULL) { point2 = *list; while (point2 != NULL) { if (point1->x == point2->x - 1 && point1->y == point2->y) my_draw(dat, data, point1, point2); if (point1->y == point2->y - 1 && point1->x == point2->x) my_draw(dat, data, point1, point2); point2 = point2->next; } point1 = point1->next; } }
int my_move_julia(int x, int y, t_fractol *e) { t_frac *f; if (e->wins[e->id]->b || x < 0 || y < 0 || x >= FOL_WID || y >= FOL_HIG || e->wins[e->id]->type != FOL_JULIA) return (1); f = &e->wins[e->id]->frac; f->cr_ref = -1 + (f->x - f->xmin) + ((x / (double)FOL_WID) * 2.) / f->zoom; f->ci_ref = 1 - (f->y - f->ymin) - ((y / (double)FOL_HIG) * 2.) / f->zoom; my_draw(e, e->wins[e->id]); return (1); }
void display(void) { my_draw(); glutSwapBuffers(); }
void my_list(){ list_id = glGenLists(1); glNewList(list_id,GL_COMPILE_AND_EXECUTE); my_draw(); glEndList(); }