Ejemplo n.º 1
0
  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();
  }