Raster wird überhaupt nicht angezeigt, wenn ich es versuche [duplizieren]
Nov 26 2020
Ich versuche, ein Options-Popup-Menü zu erstellen, um auswählen zu können, ob das Raster als Option zum Hinzufügen zu dem Spiel, das ich erstellen möchte, ein- oder ausgeschaltet werden soll. Ich konnte das Popup-Menü mit zwei Optionen anzeigen, die als "Raster ein" und "Raster aus" bezeichnet werden. Wenn ich jedoch darauf klicke, wird das Raster für mich überhaupt nicht angezeigt, was ich nur schwer tun kann.
void myGrid(GLint i) {
glEnable(GL_LINE_STIPPLE); //Activates the line-style feature
glLineStipple(1, 0xAAAA); // Plots a dashed polyline
glColor3f(0.8, 0.8, 0.8);
glBegin(GL_LINES);
for (i = 2; i <= 9; i++)
{
glVertex3f(i * 0.1 * w, 0.0, 0.0);
glVertex3f(i * 0.1 * w, 0.9 * h, 0.0);
}
for (i = 1; i <= 9; i++)
{
glVertex3f(0.1 * w, i * 0.1 * h, 0.0);
glVertex3f(w, i * 0.1 * h, 0.0);
}
glEnd();
glDisable(GL_LINE_STIPPLE);
}
int main(int argc, char* argv[])//standard c entry signature
{
//cout << "Player Controls:\n Up Key - move forward\n Down Key - move backward\n Left/Right key - move left or right\n R/r - rotate";
/* window management code ... */
/* initialises GLUT and processes any command line arguments */
glutInit(&argc, argv);
/* use double-buffered window and RGBA colour model */
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
/* window width = 400 pixels, height = 400 pixels */
glutInitWindowSize(500, 500);
/* window upper left corner at (100, 100) */
glutInitWindowPosition(100, 100);
/* creates an OpenGL window and set its title bar*/
glutCreateWindow("Coursework 1");
init();
glutDisplayFunc(display);
//glutKeyboardFunc(keyboard);
//glutSpecialFunc(specialKeys);
// glutSpecialUpFunc(keyGoneUp);
glutReshapeFunc(reshape);
//Create a grid turning it on and off
glutCreateMenu(myGrid);
glutAddMenuEntry("Grid on", 1);
glutAddMenuEntry("Grid off", 2);
glutAttachMenu(GLUT_RIGHT_BUTTON);
// SetupRC();
glutIdleFunc(IdleFunc);
glutMainLoop();
return 0;
}
Antworten
1 genpfault Nov 26 2020 at 07:08
- Schalten Sie den globalen (oder fensterspezifischen) Booleschen Wert im Menü-Rückruf um
- Geben Sie einen
glutPostRedisplay()
Rückruf im Menü aus - Verwenden Sie den globalen Booleschen Wert, um ein Raster im Display-Rückruf zu zeichnen / nicht zu zeichnen