public void renderCamera(Camera c) {

		Point minScreen = c.screenToWorld(new Point(0,0));
		int minX = minScreen.x / World.scale + (debugMode ? 10 : 0) - 2;
		int minY = minScreen.y / World.scale + (debugMode ? 10 : 0) - 2;
		
		Point maxScreen = c.screenToWorld(new Point(c.canvas.getWidth(), c.canvas.getHeight()));
		int maxX = maxScreen.x / World.scale - (debugMode ? 10 : 0) + 2;
		int maxY = maxScreen.y / World.scale - (debugMode ? 10 : 0) + 2;
		 
		if(minX < 0) minX = 0;
		if(minY < 0) minY = 0;
		if(maxX > width) maxX = width;
		if(maxY > height) maxY = height;
		
		for(int y = minY; y < maxY; y++) {
			
			for(int x = minX; x < maxX; x++) {			
				Tile t = getTile(x, y);				

				if(t == null) {
					c.setColor(Color.magenta);
					c.fillRect(x * World.scale, y * World.scale, World.scale, World.scale);
				}else{
					t.renderCamera(c, this, x, y, World.scale);
				}
				
			}
		}
		
 	}