000
26.04.2006, 17:23 Uhr
~SvenK
Gast
|
Hallo,
ich habe eine Programm geschrieben, welches in eine Dialoganwendung (Visual Studio, C++) eine OpenGL Ansichtsfläche darstellt.
Soweit klappte alles ohne Probleme, doch seit dem ich die Größe des Darstellungsbereiches ändern möchte, bekomme ich Probleme!
C++: |
void OpenGL::InitView() { glViewport(0,0,MAX_X,(MAX_Y*MAX_VH)); glOrtho(0.0f, (m_Breite/XFact), (m_Hoehe/YFact)*MAX_VH, 0.0f, -(m_Tiefe), -(m_Tiefe-m_TiefenPuffer));
glTranslatef(XMitte, (YMitte+(m_Hoehe/6.f)), -(m_TiefenPuffer/4.f)); glMatrixMode(GL_PROJECTION); glLoadIdentity();
|
Danach werden eine Reihe von Bildpunkten im Darstellungbereich angezeigt. Bei jeder Änderung wird dieses erneut aufgerufen! (mag sein das dies überflüssig ist!) Wenn ich jetzt eine Erweiterung der Bildpunkte in Z_Richtung durchführe, dabei werden Werte wie : m_Tiefe, m_Tiefenpuffer ebenfalls erweitert, bekomme ich das Problem, das ich irgendwann meinen Darstellungsbereich überschreite und einige Bildpunkte nicht mehr dargestellt werden. Ich versuche bereits verzweifelt dieses Problem zu umgehen, doch leider sind meine versuche gescheitert! gibt es eine Möglichkeit den kompletten Darstellungsbereich zu verwerfen und neu zu initialisieren? Wäre für jede Hilfe dankbar!
Sven |