Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Di Jul 15, 2025 20:17

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Fenster transperent
BeitragVerfasst: Mi Jul 07, 2004 15:38 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jun 20, 2003 13:59
Beiträge: 134
Hi Leute,

Gibt es eine Möglichkeit das ich die "ClearColor" quasi durchsichtig mache?
So wie bei z.B. MS Office Assisten.
Gibts da Möglichkeit?

_________________
ghost-site.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jul 07, 2004 15:44 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Wenn du erreichen willst, dass man durch deine Anwendung durchgucken kann (aufn Desktop) dann nein.
(Die ClearColor besitzt zwar einen AlphaWert, aber der scheint sich nicht auszuwirken.)
Denn der Desktop müsste dazu ja immer neu gezeichnet werden. (Was die Arbeit von Windows is.)

Bin aber kein Profi auf dem Gebiet.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jul 07, 2004 15:49 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Unter OpenGL (die OpenGL hat ja nichts mit dem OS zu tun) geht das nur indirekt : Du musst den Teil vom Desktop der unter deinem Fenster liegt in eine Textur rendern und nutzt den dan halt als Fensterhintergrund. Allerdings wirst du da je nach Filterung und Texturenauflösung trotzdem nen Unterschied zum normalen Desktop sehen. Schau mal in die Quellen zu meinem 2D-Tutorial, da gibts ein Beispiel das genau das macht.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jul 07, 2004 15:58 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Man kann auch einen Color Key für den Inhalt des Fensters setzen. viewtopic.php?t=1517&highlight=color+key

Hier gibt es eine Demo dazu:
http://www.opengl.org/discussion_boards ... 3;t=012142


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jul 07, 2004 19:31 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 28, 2002 19:27
Beiträge: 568
Wohnort: Chemnitz / Sachsen
also es gibt ab 2000 und xp die möglichkeit im tform einen alphawert zu setzen. leider funktioniert dann aber kein opengl mehr, daher bleibt dir eigenlich nur sowas wie oben beschrieben. die msoffice klapsköpfe von assistenten machen dass aber anders, dass sind vorgefertigte animationen, die werden nur geladen und gezeichnet, nicht mit ogl oder so gerendert.

wenn du aber nur teile deines desktops durchschauen lassen willst, gibt es noch die möglichkeit von regions, schau dazu mal in edh2000 oder delphimanager (beides externe tipssammlungen) oder auf direkten delphiseiten. ich weiss aber nicht, ob dann ogl noch funzt. aber es ist so, dass winamp und sicherlich auch xenorate (um mal was von hier zu bennenen) das mit dem skinsystem auch so machen, anders gehts unter windows (außer mit screenshot vom desktop) halt ne.

RSWM

_________________
Aktuelles Projekt :
www.PicPlace.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 08, 2004 07:30 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Hier sind die 2 routinen:

Code:
  1.  
  2. //============================================================================//
  3. procedure XCreateTransparent(_Handle : THandle; _ColorKey : TColor);
  4. const
  5.   LWA_COLORKEY = 1;
  6.   LWA_ALPHA     = 2;
  7.   WS_EX_LAYERED = $80000;
  8. begin
  9.   SetWindowLongW(_Handle, GWL_EXSTYLE, GetWindowLongW(_Handle, GWL_EXSTYLE) OR WS_EX_LAYERED);
  10.   SetLayeredWindowAttributes(_Handle, ColorToRGB(_ColorKey), 0, LWA_COLORKEY)
  11. end;
  12.  
  13. //============================================================================//
  14. procedure XResetTransparent(_Handle : THandle);
  15. begin
  16.   SetWindowLongW(_Handle, GWL_EXSTYLE, GetWindowLongW(_Handle, GWL_EXSTYLE));
  17. end;
  18.  


Anzuwenden in FormCreate XCreateTransparent(Handle, RGB(255,0,0));
FormDestroy oder Close: XResetTransparent(Handle);

Beachte das die farbe egal wo sie ist, auch wenn sie nicht auf dem mainform ist sondern z..b auf nem Image immer Dursichtig bleibt.

Das W Am ende von SetWindowLong und GetWindowLong steht für WideStrings, falls du kein Unicode support brauchst, lässt du das W einfach weg.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 08, 2004 07:41 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jun 20, 2003 13:59
Beiträge: 134
Danke erstmal für die Antworten.

Zitat:
also es gibt ab 2000 und xp die möglichkeit im tform einen alphawert zu setzen. leider funktioniert dann aber kein opengl mehr


doch opengl läuft da noch
ist zwar verdammt langsam aber es läuft.

_________________
ghost-site.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 09, 2004 12:55 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 28, 2002 19:27
Beiträge: 568
Wohnort: Chemnitz / Sachsen
das läuft da noch ??? hab das erst vor kurzen probiert und bei mir schmierte das regelmäßig beim erstellen des RC ab (zumindest da in der nähe)

_________________
Aktuelles Projekt :
www.PicPlace.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 16, 2004 15:50 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=012142

Hat grade jemand im offiziellen GL-Forum gepostet, und ich hab nicht schlecht gestaunt als ich die Kugeln da so vor meinem Desktop sah, nämlich alles rundherum ist wie vom Threadposter gewollt vom Desktop sichtbar.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 17, 2004 08:11 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Allerdings bringt das (bei mir) nen bezaubernden Windowsfehler mit sich.

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 17, 2004 10:16 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Soweit ich das sehe benutzt er Shader für die Beleuchtung der Kugeln, also liegt das Problem evtl. eher da. Aber in dem Thread wird ja beschrieben wie er das gemacht hat, was interessanter ist als die Beispielanwendung.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 19, 2004 22:43 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Währe vielleicht was fürs Wiki, oder?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 14 Queries | GZIP : On ]