c++ - Adding gluPerspective and gluLookAt made my drawing disappear -


i'm working on basic gui create , draw robot in 3d space, i'm using opengl , freeglut deal 3d part.

until last week, ignoring perspective stuff 'glulookat' or 'gluperspective' ...

now, add things in order basic camera movement (rotation, zoom, translation) user input.

but i'm stuck cause whenever try add perspective part code, i'm not able beautiful robot anymore.

here's current code :

void drawscene(void) { glclearcolor(1.0f,1.0f,1.0f,0.0f); glclear(gl_color_buffer_bit | gl_depth_buffer_bit); glpolygonmode(gl_front_and_back, gl_line); glmatrixmode(gl_modelview); glcolor3f(0.0f, 0.0f, 0.0f); ortho(); robot.draw(); // sone basic lines , quads glloadidentity(); sprintf(title, "robot creation link:%i/joint:%i", robot.linknumber,       robot.jointnumber); glutsetwindowtitle(title); glflush(); }   int main(int argc, char **argv) { glutinit(&argc, argv); glutinitdisplaymode(glut_rgba|glut_single|glut_multisample); glutinitwindowposition(0,0); glutinitwindowsize(1360,768); glenable(gl_multisample_arb | gl_depth_test); gldepthfunc(gl_lequal); id = glutcreatewindow("robot creation");  glutdisplayfunc (drawscene); glutkeyboardfunc(keyboardhandler); glutspecialfunc (specialkeyhandler); glutmousefunc   (mousehandler); glutreshapefunc (reshapehandler);  glutmainloop(); return 0; } 

i wonder if code need completly re-done work such things or if i'm not using them properly.

atm i've tried add after window creation :

glviewport(0, 0, 1360, 768); glmatrixmode(gl_projection); glloadidentity(); gluperspective(180.0f,1360.0f/768.0f,0.1f,1000.0f); 

and in drawscene function after drawing part :

glulookat(     10.0f, 0.0f, 0.0f,     0.0f, 0.0f, 0.0f,     0.0f, 1.0f, 0.0f ); 

i know i'm facing object because can see dot in center of screen came robot.

you have both matrix modes (model view , projection. better activate one. gmu perspective try gluperspective(170, 1.33, 0.00001, 1000); or put camera closer check if can see difference in object. if not able see object matrices overwriting each other. can check values by:gl.glgetdoublev(gl.gl_modelview_matrix, modelmatrix); gl.glgetdoublev(gl.gl_projection_matrix, projmatrix);.

another option gluunproject easier work @ function (in opinion)


Comments

Popular posts from this blog

IF statement in MySQL trigger -

c++ - What does MSC in "// appease MSC" comments mean? -

javascript - Blogger related post gadget image Resize s72-c [ Need Expert Help ] -