[OpenGL] problem z punktami

0

Witam

Napisałem program Qt4 z użyciem OpenGL który na ekranie rysuje punkty i są obracane w osi x,y,z.

Po uruchomieniu programu przesuwamy myszką po ekranie z lewej strony do prawej i grupa punktów porusza z lewej do prawej strony gdzie się po chwili się chowają i potem znów się pojawią ale tu chciałbym żeby się nie pojawiały aż do lewej strony.

Poniżej podaje fragment kodu programu:
<code=c++>
qglClearColor(clearColor);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glLoadIdentity();
glTranslatef(0.0f, 0.0f, -5.0f);
glRotatef(-xRot / 16.0f, 1.0f, 0.0f, 0.0f);
glRotatef(yRot / 16.0f, 0.0f, 1.0f, 0.0f);
glRotatef(zRot / 16.0f, 0.0f, 0.0f, 1.0f);

StarList bsc5;
bsc5.load("orion.csv");

for (i = 0; i < 8; i++ ){
    glBegin(GL_POINTS);
    glVertex3f(cos(bsc5.daneStars[0][i][i]) * cos(bsc5.daneStars[i][1][i]),
               cos(bsc5.daneStars[0][i][i]) * sin(bsc5.daneStars[i][1][i]),
               sin(bsc5.daneStars[0][i][i]));
    glEnd();
}
0

Za mało danych podałeś. Wrzuć więcej kodu to możemy pogadać (za screena też bym się nie obraził). Podejrzane jest dla mnie to, że między wywołaniami OpenGL ciągniesz coś z dysku. Nie wiem dokładniej ak to wygląda w Qt, ale standardowo cały rendering powinien być zamknięty w jakiejś funkcji/metodzie i nie mieć nic wspólnego z ładowaniem zasobów. Poza tym przed pętle wyrzuć glBegin, a za pętle glEnd.

1 użytkowników online, w tym zalogowanych: 0, gości: 1