Hi Miguel:

I found in order to get the transparency to work, one more change is needed in addition to the two changes in Swing3D.

In Colix:

  static short getColix(int argb) {
    if (argb == 0)
      return 0;
    //argb |= 0xFF000000; //IF THIS IS COMMENTED OUT, THEN IT WORKS
    for (int i = colixMax; --i >= 0; )
      if (argb == argbs[i])
        return (short)i;
    return allocateColix(argb);
  }

You seem to turn off the transparency channel here by ORing with 0xff000000. It causes the rgbaBackground passed from the
ColorManager to Graphics3D and then to Platform3D to lose the original alpha setting.

Is that line critical? So far I don't find it breaks anything. But you must have a better idea than I do.


Cheers,
Charles

Reply via email to