![]() |
Re: OpenGl Rendercontex schützen
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
wollte nur sagen das die Koordinaten sich in BassBoxInfo befinden und korrekt übergeben werden Zitat:
Kann man da was in
Delphi-Quellcode:
ändern damit das nicht passiert ?
gluPerspective(45, BassBoxInfo^.w / BassBoxInfo^.h, 1, 1000.0);
Zitat:
zeichnet immer neu gibt es da einen Lock befehl oder so der das verhindert ? gruss Emil |
Re: OpenGl Rendercontex schützen
Also als erstes zur falschen Position:
ich bin mir nicht sicher, aber kann es sein, dass glViewport(X, Y, W, H); Probleme macht? Probier mal glViewport(0, 0, W, H); aus. Ich weiß ja nicht, für was die Variablen X und Y genau sollen, ich denke, dass sie die Fensterposition beinhalten. Jedoch ist diese für OpenGL egal, da das komplett unterschiedliche Sachen sind. Zum Flackern: Das Flackern an sich sagt mir schon was, doch das kommt mir sehr seltsam vor. In OpenGl flackert normalerweise nichts, da du alles in einen Background-Buffer zeichnest, der dann in einem Rutsch ans Fenster übergeben wird - aber erst wenn er fertig ist. Ich glaub, dein Code hat da irgendwo ne Macke. PS: das Flackern kann auch passieren, wenn du OpenGl mit GDI-Objekten (z.B. der VCL) kombinierst. Da flackert aber nicht OpenGl sondern die VCL bzw. GDI-Sachen. |
Re: OpenGl Rendercontex schützen
Liste der Anhänge anzeigen (Anzahl: 1)
Ja sie werden kombiniert allerdings nur zum laden der Texturen (im Plugin)
Habe mal ein Sample angehängt da kannst sehen das es flackert starte dazu das Vulcan Plugin.. Das Plugin ist zwar eigentlich unnötig da nicht viel Visualisiert wird.. aber egal Den Berg kann man verschieben sowie andere objekte von verschiedenen Plugins Mit der Space taste werden die original positionen wieder hergestellt. Doppelklick ins panel = FullScreen with GenBitmap zeigt die Vis in einen eigenen Fenster da kannst du sehen das es probleme biem resitz gibt. Die Koordinaten x,y sind 0,0 gruss EMil EDIT: noch ein pic angehängt getestet mit XP denke das bei Vista probleme auftauchen könnten kann es nicht testen oder ändern habe kein Vista |
Re: OpenGl Rendercontex schützen
Liste der Anhänge anzeigen (Anzahl: 1)
habe leider ein etwa gleiches problem mit dem Font
habe es umgestellt funktioniert aber nicht da die Matrix zweimal geändert wird in der gleichen procedure.
Delphi-Quellcode:
procedure glPrintBitmap(x, y : GLFloat; text : pchar; fontset : GLint);
begin glPushAttrib(GL_ALL_ATTRIB_BITS); try if (fontset>1) then fontset :=1; glBindTexture(GL_TEXTURE_2D,fontset); // Select Our Font Texture glDisable(GL_DEPTH_TEST); // Disables Depth Testing // 1 mal geändert glMatrixMode(GL_PROJECTION); // Select The Projection Matrix glPushMatrix(); // Store The Projection Matrix glLoadIdentity(); // Reset The Projection Matrix glOrtho(0,640,0,480,-100,100); glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix glPushMatrix(); // Store The Modelview Matrix glLoadIdentity(); // Reset The Modelview Matrix glTranslated(x,y,0); // Position The Text (0,0 - Bottom Left) glListBase(base - 32 + (128 * cardinal(fontset))); // Choose The Font Set (0 or 1) glCallLists(strlen(text),GL_BYTE,text); // Write The Text To The Screen // 2 mal geändert glMatrixMode(GL_PROJECTION); // Select The Projection Matrix glPopMatrix(); // Restore The Old Projection Matrix glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix glPopMatrix(); // Restore The Old Projection Matrix glEnable(GL_DEPTH_TEST); // Enables Depth Testing finally glPopAttrib; end; end;
Delphi-Quellcode:
kannst mir nochmal nen tip geben wie ich das hin bekomme ?
procedure HoldMatrixFontMode(x, y : GLFloat; text : pchar; fontset : GLint);
var iMatrixMode : integer; begin glGetIntegerv(GL_MATRIX_MODE, @iMatrixMode); glMatrixMode(GL_PROJECTION); glPushMatrix; try glPrintBitmap(x, y, text, fontset); finally glMatrixMode(GL_PROJECTION); glPopMatrix; glMatrixMode(iMatrixMode); end; end; Aufruf..
Delphi-Quellcode:
EDIT:
HoldMatrixFontMode(10, 13, SongName, 1);
Von Text kann man da nicht sprechen.. Hat sich erledigt ... gruss Emil |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz