Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 25.04.2008, 18:04 Titel: [Workaround]In FBGFX Screen von anderen Programm zeichnen? |
|
|
Hallo!
Ich habe folgendes vor:
Code: |
lädt
Programm ----------> XY.DLL
ruft auf
Programm ----------> Funktion Init der XY.DLL; Parameter z.B. SCREENPTR
zeichnet
XY.DLL ----------> In den Screen von Programm
...
|
Nochmal in Text:
Das Programm lädt eine Library, ruft eine Funktion dieser mit beliebigen Parametern auf, und ermöglicht der Library es, so in den vorher mittels SCREEN 18-20 geöffneten fbGFX Screen zu zeichnen.
Ist das möglich?
Weiterhin gäbe es da das Problem, dass es sich um einen openGL Screen handelt.
Oder wäre es sinnvoller in eine Textur zu rendern, und diese dem Programm zu geben, welches es dann in den eigenen FrameBuffer kopiert?
Zuletzt bearbeitet von 28398 am 27.04.2008, 08:23, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 25.04.2008, 21:33 Titel: |
|
|
Hallo csde_rats,
So einfach geht das nicht, du kannst nicht einfach auf den Bildschirm anderer Programme zeichnen. Es kommt aber ganz auf den Verwendungszweck an, denn ein Overlay ist z.B. bei OGL realisierbar. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 27.04.2008, 08:21 Titel: |
|
|
Jojo hat Folgendes geschrieben: | Hallo csde_rats, |
Hallo Jojo
Jojo hat Folgendes geschrieben: | So einfach geht das nicht, du kannst nicht einfach auf den Bildschirm anderer Programme zeichnen. Es kommt aber ganz auf den Verwendungszweck an, denn ein Overlay ist z.B. bei OGL realisierbar. |
(Die Overlay-Sache funktioniert übrigens auch mit D3D; u.a. zu beobachten bei der Steam Ingame Community)
Ich meine irgendwo im englischen (?) Forum da was in die Richtung gehendes gesehen zu haben...
Inzwischen habe ich aber die betreffende Lib umstrukturiert, sodass das Programm den Framebuffer der Library abfragen kann.
Funktioniert folgendermaßen:
- Constructor Lib
- Erstellt fbGFX Screen mit openGL flag
- konfiguriert openGL
- versteckt fbGFX Fenster
- Reserviert Speicher für Framebuffer-Abbild
- erstellt fbGFX kompatiblen Header
- GetFB
- Kopiert mittels glReadPixels den Framebuffer in den vorher reservierten Speicherbereich
- Gibt intern bereits bekannten Pointer auf Abbild+fbGFX Header zurück
- DeConstructor Lib
- Dealloziiert den Speicherbereich
Das eigentliche Programm muss dann nur noch den Framebuffer in den eigenen Screen kopieren... |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 27.04.2008, 11:48 Titel: |
|
|
28398 hat Folgendes geschrieben: | Die Overlay-Sache funktioniert übrigens auch mit D3D |
Das ist nichts Neues für mich; Wie sonstn sollte Fraps/Kkapture/andere programme funktionieren? _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
|