Note that there are some explanatory texts on larger screens.

plurals
  1. POopengl rubberbanded box not showing
    primarykey
    data
    text
    <p>I'm trying to draw a selection box over an image drawn using glDrawPixels, but I cannot get it to show. In order to represent the coordinates of the box, I have 4 global integers that I update on mouse actions (the first 2 on click, the others when the mouse is dragged), which I then use in the drawing function. I'm sure that the drawing function is called when the mouse gets dragged, and that the four values at least get updated, since I tried printing them every time the drawing function gets called. The OpenGL calls I have in the main are:</p> <pre><code>glutInit(&amp;argc, argv); glutInitWindowSize(WINDOW_DIM, WINDOW_DIM); glutInitWindowPosition(0, 0); glutInitDisplayMode(GLUT_RGB|GLUT_DOUBLE); glutCreateWindow("Window"); glutDisplayFunc(display); glutMouseFunc(mouse); glutMotionFunc(motion); glClearColor(0.0, 0.0, 0.0, 1.0); glDisable(GL_DEPTH_TEST); glutMainLoop(); </code></pre> <p>and my display function:</p> <pre><code>void display() { printf("calling display\n"); for(unsigned int i=0; i&lt;WINDOW_DIM*WINDOW_DIM; ++i) { pixels[i]=colors[img[i]]; } glClear(GL_COLOR_BUFFER_BIT); glDrawPixels(WINDOW_DIM, WINDOW_DIM, GL_RGB, GL_FLOAT, (float*)pixels); glutSwapBuffers(); if(upd_xmin!=0 || upd_ymin!=0 || upd_xmax!=0 || upd_ymax!=0) { glDrawBuffer(GL_FRONT); glLogicOp(GL_XOR); glEnable(GL_COLOR_LOGIC_OP); printf("drawing selection\n"); printf("coords %d %d %d %d\n", upd_xmin, upd_ymin, upd_xmax, upd_ymax); glColor3f(1.0, 1.0, 1.0); glLineWidth(3.0); glBegin(GL_LINE_LOOP); glVertex2i(upd_xmin, upd_ymin); glVertex2i(upd_xmin, upd_ymax); glVertex2i(upd_xmax, upd_ymax); glVertex2i(upd_xmax, upd_ymin); glEnd(); glDisable(GL_COLOR_LOGIC_OP); glDrawBuffer(GL_BACK); } } </code></pre> <p>As I said, I don't think the problem is with the mouse and motion function, seeing how the coordinates of the box (the upd_x and upd_y variables in the code above) get updated when there's a mouse event, but if needed I can post those as well. </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload