For my java realtime raytracter i directly manipuated the backing Int buffer of a RGB Buffered Image:
to get the backing buffer:
1 2
| BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); int[] imagePixelData = ((DataBufferInt) image.getRaster().getDataRasterBuffer()).getData(); |
to render a pixel:
1
| imagePixelData[pixelY*width+pixelX]= (int) (intersection.colour.red*255) << 16 | (int) (intersection.colour.green*255) << 8 | (int) (intersection.colour.blue*255 ) |
then just draw the image to a graphics object.