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