java - How to set the camera within a cube? -
i have cube has different color each side-lock -
public void display(glautodrawable drawable) { final gl gl = drawable.getgl(); gl.glclear(gl.gl_color_buffer_bit | gl.gl_depth_buffer_bit); ///// set camera ///// setcamera(gl, glu, 100); // /////// cube - start /////////// // cube // ----- render color cube ----- gl.glloadidentity(); // reset current model-view matrix gl.gltranslatef(0f, 0.0f, -7.0f); // translate right , // screen gl.glrotatef(anglecube, 1.0f, 1.0f, 1.0f); // rotate x, y , // z-axes gl.glbegin(gl.gl_quads); // of color cube // top-face gl.glcolor3f(0.0f, 1.0f, 0.0f); // green gl.glvertex3f(1.0f, 1.0f, -1.0f); gl.glvertex3f(-1.0f, 1.0f, -1.0f); gl.glvertex3f(-1.0f, 1.0f, 1.0f); gl.glvertex3f(1.0f, 1.0f, 1.0f); // bottom-face gl.glcolor3f(1.0f, 0.5f, 0.0f); // orange gl.glvertex3f(1.0f, -1.0f, 1.0f); gl.glvertex3f(-1.0f, -1.0f, 1.0f); gl.glvertex3f(-1.0f, -1.0f, -1.0f); gl.glvertex3f(1.0f, -1.0f, -1.0f); // front-face gl.glcolor3f(1.0f, 0.0f, 0.0f); // red gl.glvertex3f(1.0f, 1.0f, 1.0f); gl.glvertex3f(-1.0f, 1.0f, 1.0f); gl.glvertex3f(-1.0f, -1.0f, 1.0f); gl.glvertex3f(1.0f, -1.0f, 1.0f); // back-face gl.glcolor3f(1.0f, 1.0f, 0.0f); // yellow gl.glvertex3f(1.0f, -1.0f, -1.0f); gl.glvertex3f(-1.0f, -1.0f, -1.0f); gl.glvertex3f(-1.0f, 1.0f, -1.0f); gl.glvertex3f(1.0f, 1.0f, -1.0f); // left-face gl.glcolor3f(0.0f, 0.0f, 1.0f); // blue gl.glvertex3f(-1.0f, 1.0f, 1.0f); gl.glvertex3f(-1.0f, 1.0f, -1.0f); gl.glvertex3f(-1.0f, -1.0f, -1.0f); gl.glvertex3f(-1.0f, -1.0f, 1.0f); // right-face gl.glcolor3f(1.0f, 0.0f, 1.0f); // violet gl.glvertex3f(1.0f, 1.0f, -1.0f); gl.glvertex3f(1.0f, 1.0f, 1.0f); gl.glvertex3f(1.0f, -1.0f, 1.0f); gl.glvertex3f(1.0f, -1.0f, -1.0f); gl.glend(); // of color cube // /////// cube - end ////////// } private void setcamera(gl gl, glu glu, float distance) { // change projection matrix. gl.glmatrixmode(gl.gl_projection); gl.glloadidentity(); // perspective. float widthheightratio = (float) getwidth() / (float) getheight(); glu.gluperspective(1, widthheightratio, 1, 1000); glu.glulookat(0,0, 150, 0, 0, 0, 0, 1, 0); // change model view matrix. gl.glmatrixmode(gl.gl_modelview); gl.glloadidentity(); }
at state - figure -
means camera located in front of cube .
since trying set camera within cube , change z-axis value in glu.glulookat
- glu.glulookat(0,0, 50, 0, 0, 0, 0, 1, 0);
, know -
and if change - glu.glulookat(0,0, 0, 0, 0, 0, 0, 1, 0);
whole screen black .
so , have change in order set camera within cube - means excepted figure different color in right , left , down .
glu.glulookat(0, 0, 0, 0, 0, 0, 0, 1, 0)
doesn't seem valid. try setting glu.glulookat(0, 0, 0, 0, 0, -1, 0, 1, 0)
edit:
remove
gltranslatef
glu.gluperspective(100, widthheightratio, 0.5, 1000); glu.glulookat(0, 0, 0.0, 0.0, 0, -1.0, 0, 1, 0);
Comments
Post a Comment