Re: small drawing
Posted by keith on Jul 25, 2016; 3:34pm
URL: https://forum.jogamp.org/small-drawing-tp4036875p4036957.html
Once I added newResizeHandler it drew correctly. So the problem was that the camera was not at the correct size, etc. Setting camera size and frustrumPerspective before shell.open also works since my shell can not be resized.
Thanks for the help.
Keith
canvas1.addControlListener(newResizeHandler(canvas1, canvasRenderer1));
static ControlListener newResizeHandler(final JoglNewtSwtCanvas swtCanvas, final CanvasRenderer canvasRenderer) {
final ControlListener retVal = new ControlListener() {
@Override
public void controlMoved(final ControlEvent e) {}
@Override
public void controlResized(final ControlEvent event) {
final Rectangle size = swtCanvas.getClientArea();
if ((size.width == 0) && (size.height == 0)) {
return;
}
final float aspect = (float) size.width / (float) size.height;
final Camera camera = canvasRenderer.getCamera();
if (camera != null) {
final double fovY = camera.getFovY();
final double near = camera.getFrustumNear();
final double far = camera.getFrustumFar();
camera.setFrustumPerspective(fovY, aspect, near, far);
camera.resize(size.width, size.height);
}
}
};
return retVal;
}