Thema: FFT Grid Vis

Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#4

AW: FFT Grid Vis

  Alt 26. Dez 2013, 12:45
Ich wusste nicht, dass es das auf Sulaco gibt ^^
Danke fürs Kompliment.

Die weißen Streifen sind mir auch aufgefallen - die sieht man beim Draggen an den Desktoprändern. Bin mir nicht sicher, hat aber evt. etwas damit zu tun, dass ich das ganze Zeugs auf eine Bitmap rendere und dann von der Bitmap aufs Formular blitte, damit das mit der Transparenz hinhaut!

OpenSource.. hmm.. Der Code ist eig. gar nicht reif dafür - wenn du nur wüsstest, wie hässlich der ist =/ Ich überlegs mir, wenn die Nachfrage größer wird, säubere ich und lads hoch!
Warum tust du das ?
Du könntest ja einfach den window style des Fenster auf WS_EX_LAYERED setzen
dann wäre die Vis (Window)auch Transparent oder ?
Das extra rendern auf das Bitmap könntest du dir dann sparen.

Du kannst aber auch die Transparenz emulieren
in dem du glOrtho verwendest und den Hintergrund in eine Texture kopierst.
Das mache ich in meinem KaraGL Projekt so

Delphi-Quellcode:
procedure renderBackground();
begin
  // Farben auf Default werte setzen
  glColor3f(1.0, 1.0, 1.0);
  // BackTexture aktivieren
  glEnable(GL_TEXTURE_2D);
  glMatrixMode(GL_PROJECTION);
  glLoadIdentity;
  //Matrix zeichnen
  gluOrtho2D(0.0, panOpenGL.Width, panOpenGL.Height, 0.0);
  //Matrix anzeigen
  glMatrixMode(GL_MODELVIEW);
  glLoadIdentity;
  //Aktuelle Transformation speichern
  glPushMatrix;
    // Backtexture einbinden
    glBindTexture(gl_Texture_2D, BackTexture);
    // Hintergrund Quadrat zeichnen
    glBegin(GL_QUADS);
      glTexCoord2d(0.0, 0.0); glVertex2f( 0.0, 0.0);
      glTexCoord2d(0.0, 1.0); glVertex2f( 0.0, panOpenGL.Height);
      glTexCoord2d(1.0, 1.0); glVertex2f(panOpenGL.Width, panOpenGL.Height);
      glTexCoord2d(1.0, 0.0); glVertex2f(panOpenGL.Width, 0.0);
    glEnd();
  //Matrix zurücksetzen
  glPopMatrix;
  // Texture Deaktivieren
  glDisable(GL_TEXTURE_2D);
  //Projection zurücksetzen
  glMatrixMode(GL_PROJECTION);
  glLoadIdentity;
  glMatrixMode(GL_MODELVIEW);
  glLoadIdentity;

end;
gruss

Geändert von EWeiss (26. Dez 2013 um 13:09 Uhr)
  Mit Zitat antworten Zitat