PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Eine Bildschirmhälfte bleibt beim wechsel der Auflösung schwarz


Lord Nikon
2004-05-02, 14:46:44
Hi,
wenn ich bei einem Programm von mir die Auflösung von z.B 320x280 wechsel auf 800x600 da ist eine Hälfte des Bildschirm schwarz, was eigentlich nicht seien dürfte.

void Grafik::berechne(Komplex c,Komplex z,int xx,int yy)
{

zahler=0;
this->it=30;

// fstream *aus=new fstream();
// aus->open("mandel.txt",ios::out);
double zeit=GetTickCount();
int d=0;
int iterator=0;

for (int x=0;x<xx;x++)
for (int y=0;y<yy;y++)
{

c.i=(y*4.0)/yy-(2.0);
c.r=(x*4.0)/xx-(2.0);
z.r=0.0;
z.i=0.0;
iterator=0;

do
{
Application->ProcessMessages();
++iterator;
z.quadriert(z);
z.addiert(c,z);
glBegin(GL_POINTS);
glColor3f(PAL->r[d],PAL->g[d],PAL->b[d]);
glVertex2d(z.r,z.i);
zahler++;


} while (((z.i*z.i+z.r*z.r)<4.0)&&(iterator<this->it));
d++;
if (d==256)
{
d=0;
}
}
glEnd();
double zeit2=GetTickCount();
zeit2=zeit2-zeit;
zeit2=zeit2/1000;
}

Die Sicht ist mit:

glOrtho(-2.0,2.0,-2.0,2.0,-34,34);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();

eingstellt.
In der der Renderfunktion habe folgends stehen


glEnable( GL_POINT_SMOOTH);
glShadeModel(GL_SMOOTH);
glFlush();
glFinish();
SwapBuffers(wglGetCurrentDC());

Hat jemand eine Ahnung woran das liegen kann ?

Asmodeus
2004-05-03, 08:28:37
Wann änderst Du denn bei Deinem Programm die Auflösung? Während der Ausführung des Programmes oder jeweils vor dem Neustart des Programmes? Was benutzt Du für ein Fenstersystem zur Darstellung deines OpenGL Inhaltes?

Carsten.

Lord Nikon
2004-05-03, 13:23:56
Ich änder die Auflösung während der Laufzeit.Als Fenster dient ein normales Formular, welches vom c++ Builder von Borland bereitgestellt wird.Wenn ich die Auflösung änder, setzte ich die Eigenschaft Width und Height des Formulars auf den jewahligen Wert, der in einem von mir gemachten Menü ausgewählt wird, also z.B 800x600.