Bonjour,
Je cherche à générer des images depuis un Canvas3D mais j'obtiens un simple message "failed to create drawable" sans exception.
Voici le code utilisé pour générer l'image :
BufferedImage bImage = new BufferedImage(JFRAME_WIDTH, JFRAME_HEIGHT,
BufferedImage.TYPE_3BYTE_BGR);
ImageComponent2D buffer = new ImageComponent2D(
ImageComponent.FORMAT_RGB, bImage);
buffer.setCapability(ImageComponent2D.ALLOW_IMAGE_READ);
offScreenCanvas3D.setOffScreenBuffer(buffer);
offScreenCanvas3D.renderOffScreenBuffer();
offScreenCanvas3D.waitForOffScreenRendering();
bImage = offScreenCanvas3D.getOffScreenBuffer().getImage();
Le message "failed to create drawable" se produit après la ligne offScreenCanvas3D.renderOffScreenBuffer();
L'objet offscreenCanvas3D est instancié de la manière suivante :
offScreenCanvas3D = new Canvas3D(config, true);
Screen3D sOn = canvas3D.getScreen3D();
Screen3D sOff = offScreenCanvas3D.getScreen3D();
Dimension dim = sOn.getSize();
dim.width *= OFF_SCREEN_SCALE;
dim.height *= OFF_SCREEN_SCALE;
sOff.setSize(dim);
sOff.setPhysicalScreenWidth(sOn.getPhysicalScreenWidth()
* OFF_SCREEN_SCALE);
sOff.setPhysicalScreenHeight(sOn.getPhysicalScreenHeight()
* OFF_SCREEN_SCALE);
simpleUniverse.getViewer().getView().addCanvas3D(offScreenCanvas3D);
Est-ce que ce problème peut être lié à l'avertissement que j'ai en début de programme :
Java 3D WARNING : reported GLX version = 1.2
GLX version 1.3 or higher is required
The reported version number may be incorrect. There is a known
ATI driver bug in glXQueryVersion that incorrectly reports the GLX
version as 1.2 when it really is 1.3, so Java 3D will attempt to
run anyway.
Ou est-ce 2 choses bien différentes ?
Partager