I have been trying to develop a 2D graphics overlay system for my application. I am 
developing on a Win2000 system using a 32mb ATI Radeon.

Using the Java3D 1.3beta1 implementation, in my subclassed postRender() method, I 
tried to draw to the 2D graphics context, but have come across a problem that seems to 
be an implementation bug. All of the drawing to the graphics context undergoes some 
sort of color conversion process before being displayed. For example, the code:

J3DGraphics2D.setPaint(new Color(255,255,0));  // Yellow
J3DGraphics2D.drawRect(10, 10, 100, 100);
J3DGraphics2D.drawString("molecule", vX, vY);

results in the display of a magenta (Color: 255,0,255) rectangle and string. Setting 
the color to J3DGraphics2D.setPaint(new Color(255,0,255)), or magenta, results in the 
display of yellow objects. In addition, if ever the red component of the color, such 
as Color(0,255,0) is equal to zero, no objects will display.

It almost seems that the RGBA components are getting mixed up at some point in the 
rendering pipeline. I am drawing directly to the J3DGraphics2D context, so I don't 
believe I am causing this conversion. I thought that maybe the red component was being 
converted to an alpha value, which after testing proved incorrect. I have tried this 
on many different background colors, with all the different AlphaComposite types, all 
with the same results.

This color conversion bug did not show up when I was using the Java3D 1.2.1 
implementation and it does not show up when I draw to a JPanel using the normal, 
Graphics2D context in a Swing application without a Canvas3D.

Thanks for any insight,

Sean

==========================================================================To 
unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to