Пример #1
0
void	ft_draw_scnd_quad(img_var img, fdf_var lst)
{
	if (-img.x >= img.y)
	{
		img.e = img.x;
		while (img.x1-- > img.x2)
		{
			ft_img_pixel_put(img, lst, img.x1, img.y1);
			img.e = img.e + img.dy;
			if (img.e >= 0)
			{
				img.y1++;
				img.e = img.e + img.dx;
			}
		}
		return ;
	}
	img.e = img.y;
	while (img.y1++ < img.y2)
	{
		ft_img_pixel_put(img, lst, img.x1, img.y1);
		img.e = img.e + img.dx;
		if (img.e <= 0)
		{
			img.x1--;
			img.e = img.e + img.dy;
		}
	}
}
Пример #2
0
void	ft_drawpixel(t_raytracer *raytracer, int x)
{
	int		color;
	int		i;

	i = -1;
	if (raytracer->side == 0 && raytracer->mapx > 0)
		color = 0xE78F8E;
	else if (raytracer->side == 0 && raytracer->mapx <= 0)
	{
		color = 0xB3CDD1;
	}
	else if (raytracer->side == 1 && raytracer->mapy > 0)
		color = 0xfec057;
	else
		color = 0xACD8AA;
	if (raytracer->map[raytracer->mapx][raytracer->mapy] == 2)
		color = 0x000000;
	while (++i < raytracer->drawstart)
		ft_img_pixel_put(raytracer, x, i, 0xB0E0E6);
	i--;
	while (++i <= raytracer->drawend && i < raytracer->env.win_h)
		ft_img_pixel_put(raytracer, x, i, color);
	i--;
	while (++i < raytracer->env.win_h)
		ft_img_pixel_put(raytracer, x, i, 0x693300);
}