Hi, i am new to java and game development.
I just started creating my first java applet using JOGL library.
After few tutorials i managed to draw a triangle, but have problem with GLCanvas and the reshape method.
public class CMain extends Applet implements GLEventListener
....
public void init()
{
glu = new GLU();
canvas = new GLCanvas(new GLCapabilities(GLProfile.getDefault()));
this.add(canvas);
canvas.addGLEventListener(this);
canvas.setPreferredSize(this.getSize());
final FPSAnimator animator = new FPSAnimator(canvas, 60);
animator.start();
}
....
public void reshape(GLAutoDrawable glDrawable, int x, int y, int w, int h)
{
GL2 gl = glDrawable.getGL().getGL2();
h = (h == 0) ? 1 : h; // Prevent divide by zero
float aspect = (float)w / h; // Compute aspect ratio
// Set view port to cover full screen
gl.glViewport(0, 0, w, h);
// Set up the projection matrix - choose perspective view
gl.glMatrixMode(GLMatrixFunc.GL_PROJECTION);
gl.glLoadIdentity(); // reset
glu.gluPerspective(45.0f, aspect, 0.1f, 100.0f);
// Switch to the model-view transform
gl.glMatrixMode(GLMatrixFunc.GL_MODELVIEW);
gl.glLoadIdentity();
canvas.setPreferredSize(null);
canvas.setPreferredSize(this.getSize()); // <--- hmmm
}
I’m using Eclipse and Java applet viewer, and when i resize window/applet
sometimes the Canvas size doesn’t update!! :persecutioncomplex:
Any suggestions?