Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

06.05.2007, 14:32

OpenGL - zeigt manchmal nur leeren Bildschirm

Hallo zusammen,

bin fange gerade an, mich mit OpenGL zu beschätigen. Allerdings hab ich ein Problem, für das ich keine Lösung finde.

Meine bisherigen kleinen Programme laufen, aber manchmal, wenn ich sie starte, kommt nur ein leeres Fenster, und es wird nichts angzeigt (nur der Rahmen, im Hintergrund ist mein Desktop zu sehen).

Event. weiss jemand ja Rat.

Hier der Code eines meiner OpenGL-Programme:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <GL/gl.h>
#include <GL/glut.h>
#include <GL/glu.h>

void myInit() {
  glClearColor(0.0, 0.0, 0.0, 0.0); //set the bg color to a bright white
  glColor3f(0.0f, 0.0f, 0.0f); //set the drawing color to black
  glPointSize(4.0);
  glMatrixMode(GL_PROJECTION);
  glLoadIdentity();
  gluOrtho2D(0.0, 640.0, 0.0, 480.0);
}

void myDisplay(void) {
  glClear(GL_COLOR_BUFFER_BIT);
  glColor3f(0.2f,0.2f,0.2f);
  glRecti(100,100,100+180,100+180);
  glColor3f(0.5f,0.0f,0.0f);
  glRecti(639-180,479-180,639-100,479-100);
  glColor3f(0.0f,1.0f,1.0f);
  glRecti(333,222,433,277);
  glFlush();
}

int main(int argc, char **argv) {
  glutInit(&argc, argv);
  glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
  glutInitWindowSize(640,480);
  glutInitWindowPosition(100,150);
  glutCreateWindow("Quadrate mit OpenGL");
  glutDisplayFunc(myDisplay);
  myInit();
  glutMainLoop();

  return 0;
}


Gruß

Stareagle