z axis - why LWJGL polygon disappears after z translation? -
i've started larn lwjgl , got problem! doing:
1.load texture
2.start rendering cycle
draw rectangle , apply texture
check keyboard , mouse events , rotate/move camera
public static void main(string[] args) { seek { display.setdisplaymode(new displaymode(320, 200)); display.create(); } grab (exception e) { system.out.println(e); }
texture texture = null; seek { texture = textureloader.gettexture("jpg", resourceloader.getresourceasstream("basic.jpg"), true); } grab (exception e) { system.out.println(e); return; } gl11.glmatrixmode(gl11.gl_projection); gl11.glloadidentity(); gl11.glortho(0, 320, 0, 200, 1, -1); gl11.glmatrixmode(gl11.gl_modelview); while (!display.iscloserequested()) { gl11.glclear(gl11.gl_color_buffer_bit | gl11.gl_depth_buffer_bit); color.white.bind(); texture.bind(); gl11.glbegin(gl11.gl_quad_strip); gl11.gltexcoord2f(0, 0); gl11.glvertex3f(100, 100, 0); gl11.gltexcoord2f(0, 1); gl11.glvertex3f(100, 140, 0); gl11.gltexcoord2f(1, 1); gl11.glvertex3f(140, 140, 0); gl11.gltexcoord2f(1, 0); gl11.glvertex3f(140, 100, 0); gl11.glend(); display.update(); processinput(); seek { //thread.sleep(20); } grab (exception e) { system.out.println(e); } } display.destroy(); }
public static void processinput() { long delta = getdelta(); long divider = 10000000; float camx = 0, camy = 0, camz = 0; float roll = 0; if (keyboard.iskeydown(keyboard.key_w)) { camz += 1.0f * delta / divider; } if (keyboard.iskeydown(keyboard.key_s)) { camz -= 1.0f * delta / divider; } if (keyboard.iskeydown(keyboard.key_d)) { camx -= 1.0f * delta / divider; } if (keyboard.iskeydown(keyboard.key_a)) { camx += 1.0f * delta / divider; } if (keyboard.iskeydown(keyboard.key_space)) { camy -= 1.0f * delta / divider; } if (keyboard.iskeydown(keyboard.key_c)) { camy += 1.0f * delta / divider; } if (mouse.isbuttondown(0)) { roll += 1.0f * delta / divider; } if (mouse.isbuttondown(1)) { roll -= 1.0f * delta / divider; } gl11.gltranslatef(camx, camy, camz); gl11.gltranslatef(160, 100, 0); gl11.glrotatef(roll, 0, 0, 1); gl11.gltranslatef(-160, -100, 0); }
when rotate , move in xy plane works perfectly. when seek moving along z axis whole rectangle disappears. doing wrong?
ok, got solution myself after looking @ initial parameters.
gl11.glortho(0, 320, 0, 200, 1, -1); function defines rendering , out of box won't rendered. thus, after moving along z axis item disappears. changed render box to
gl11.glortho(0, 320, 0, 200, 100, -100); and works.
lwjgl z-axis
No comments:
Post a Comment