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

Aktuelle Zeit: Mi Apr 24, 2024 09:27

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



Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Sa Dez 13, 2014 23:32 
Offline
DGL Member

Registriert: Mi Jul 30, 2014 12:07
Beiträge: 7
Programmiersprache: Pascal
Liebes Forum,

Ich bin im Internet auf Funktionen gestoßen, die das Windows Handle vom Desktop zurückgeben.
Da kam mir dann die Idee den Hintergrund als Renderkontext für OpenGL zu nutzten.
Nach einigem Googlen habe ich einige Programme gefunden, die genau das machen.

Bei meinen eigenen Versuchen wir jedoch immer ein Fehler ausgelöst, wenn in CreateRenderingContext versucht wird das Pixelformat zu ändern.

Hat jemand von euch schon Erfahrung mit ähnlichen Situationen?

MFG

Komoluna


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Dez 14, 2014 16:37 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1278
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Was ist dein Ziel, willst du einfach eine Vollbild-OpenGL-Anwendung ?

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Dez 14, 2014 16:51 
Offline
DGL Member

Registriert: Mi Jul 30, 2014 12:07
Beiträge: 7
Programmiersprache: Pascal
Nein, mir sind die statische Hintergrundbilder einfach zu langweilig.
Dann könnte man, wie bei einem Bildschirmschoner einstellbare Animationen oder News oder Ähnliches direkt auf dem Desktop anzeigen lassen.
Über den Sinn lässt sich natürlich streiten, allerdings hilft es immer neues auszuprobieren.

Mein Ziel ist es die Zeichenoberfläche hinter den Desktopsymbolen zu nutzen.

MFG

Komoluna


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Dez 14, 2014 17:21 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1278
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Zitat:
Nach einigem Googlen habe ich einige Programme gefunden, die genau das machen.

Das würde mich auch interessieren, das dies überhaupt geht habe ich nicht gewusst.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Dez 14, 2014 17:27 
Offline
DGL Member

Registriert: Mi Jul 30, 2014 12:07
Beiträge: 7
Programmiersprache: Pascal
Das Programm Drempels ( http://www.geisswerks.com/drempels/ ) ist dynamischer Dekstophintergrund+Screensaver.

Aber wie das da realisiert wird weis ich nicht.
(Ich nutze Lazarus+FPC)

MFG

Komoluna


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Dez 14, 2014 17:47 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1278
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Das Ding ist ja Ur-Alt. :shock:

Hast du dies auch gelesen ?

Code:
  1. REQUIREMENTS
  2. ------------------------------------------
  3.     -DirectX 5.0 or greater ( http://www.microsoft.com/download )
  4.     -Windows 9x/ME/NT/2k operating system
  5.     -Your CPU (processor) must support the MMX instruction set.  
  6.        Almost all CPU's faster than 300 MHz support this, and all
  7.        Pentium II or later chips do.  


Das sieht mir nach DirectX aus.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Dez 14, 2014 18:40 
Offline
DGL Member

Registriert: Do Dez 29, 2011 19:40
Beiträge: 421
Wohnort: Deutschland, Bayern
Programmiersprache: C++, C, D, C# VB.Net
Ob das heute noch so möglich ist, ist nicht gesagt.

Außerdem wenn dich interessiert wie der es gemacht hat, schau dir doch einfach selbst den Quellcode an. Den gibt es schließlich sogar. Windows Aufrufe sind überall die selben. Die WinAPI ist in Delphi auch nicht anders.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Dez 14, 2014 20:58 
Offline
DGL Member

Registriert: Mi Jul 30, 2014 12:07
Beiträge: 7
Programmiersprache: Pascal
Dass das mit DirectX läuft weiß ich,
Aber DirectX macht doch auch nichts anderes als einen Renderkontext für Handles zu erstellen oder?

MFG

Komoluna


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Dez 14, 2014 21:03 
Offline
DGL Member

Registriert: Do Dez 29, 2011 19:40
Beiträge: 421
Wohnort: Deutschland, Bayern
Programmiersprache: C++, C, D, C# VB.Net
Um diese Frage zu beantworten solltest du eben in den Code schauen. :wink:


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Dez 15, 2014 15:31 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey,

meines Wissens nach gibt es kein extra Handle für den Windows-Hintergrund. Das ist alles der Desktop. Wenn du also da drauf zeichnest, dann sind auch die Icons weg. So war das zumindest bei WinXP, als ich damals ein bischen damit rumgespielt hab. Ob das bei aktuellen Versionen anders gelöst ist kann ich dir leider nicht sagen.

MfG Bergmann.

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Dez 15, 2014 18:23 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1278
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Ich habe noch ein bisschen mit Screen rumgepastelt, aber dglOpenGL.pas lösten einen RaiseLastOSError aus.
Vielleicht findest du einen Handler in Screen der geht.
Code:
  1. procedure TForm1.FormCreate(Sender: TObject);
  2. begin
  3.   //  DC := GetDC(Handle);
  4.   DC := GetDC(Screen.Monitors[0].Handle);
  5.   RC := CreateRenderingContext(DC, [opDoubleBuffered], 32, 24, 8, 0, 0, 0);
  6.   ActivateRenderingContext(DC, RC);
  7.  
  8.   InitScene;
  9. end;

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Dez 15, 2014 18:48 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey,

das Problem wird eher sein, dass das PixelFormat für das Handle schon festgelegt wurde. Das kann man nur einmal machen. Also musst du meiner Meinung nach irgendwie das aktuelle Pixelformat des Handels auslesen und dann damit weiter arbeiten.

MfG Bergmann.

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Dez 15, 2014 19:37 
Offline
DGL Member

Registriert: Mi Jul 30, 2014 12:07
Beiträge: 7
Programmiersprache: Pascal
Ok, das werde ich morgen mal Testen.

MFG

Komoluna


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 40 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.090s | 17 Queries | GZIP : On ]