private void drawLinePoint(Point point1, Point point2, Point firstPoint,
			Graphics g, int x, int y, double fullDist, Boolean wireframe) {
		if (wireframe && !this.wireframe.shouldDraw())
			return;
		Point point = null;
		if (textureEnable && x > 0 && y > 0) {
			Color color = new Color(texture.getRGB(x%texture.getWidth(), y%texture.getHeight()));
			point = new Point(x, y, color);
		}else{
			double dist;
			double percent_color2;
			dist = point1.dist(new Point(x, y, null));
			percent_color2 = dist / fullDist;

			float red = new Float((point1.getColor().getRed()
					* (1 - percent_color2) + point2.getColor().getRed()
					* percent_color2) / 255);
			float green = new Float((point1.getColor().getGreen()
					* (1 - percent_color2) + point2.getColor().getGreen()
					* percent_color2) / 255);
			float blue = new Float((point1.getColor().getBlue()
					* (1 - percent_color2) + point2.getColor().getBlue()
					* percent_color2) / 255);
			Color color = new Color(red, green, blue);
			point = new Point(x, y, color);
		}

		
		if (wireframe) {
			g.setColor(Color.BLACK);
		} else {
			g.setColor(point.getColor());
		}

		g.drawRect(x, y, 1, 1);

		if (!wireframe && !point1.equals(firstPoint)) {
			drawLine(firstPoint, point, firstPoint, g, false);
		}
	}