void render() { Color3 endColor = Color3.BLACK; System.out.println("RE calculating the image"); int i, j, k; for (i = 0; i < viewer.getWidth(); i++) { for (j = 0; j < viewer.getHeight(); j++) { endColor = Color3.BLACK; for (k = 0; k < numScreens; k++) { float tempr = ((float) screens[k].getPixel(i, j).getR()) * ((float) ((instrument) proj_class.instruments.get_object(k)).getLevel() / (float) 100.0); float tempg = ((float) screens[k].getPixel(i, j).getG()) * ((float) ((instrument) proj_class.instruments.get_object(k)).getLevel() / (float) 100.0); float tempb = ((float) screens[k].getPixel(i, j).getB()) * ((float) ((instrument) proj_class.instruments.get_object(k)).getLevel() / (float) 100.0); if ((tempr != 0) || (tempg != 0) || (tempb != 0)) { float newr = tempr + (float) endColor.getR(); float newg = tempg + (float) endColor.getG(); float newb = tempb + (float) endColor.getB(); if (newr > 1) { newr = 1; } if (newg > 1) { newg = 1; } if (newb > 1) { newb = 1; } endColor = new Color3(newr, newg, newb); } } viewer.setPixel(i, j, endColor.toRGB()); } } newRender = true; repaint(); }