Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

[Workaround]In FBGFX Screen von anderen Programm zeichnen?

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 25.04.2008, 18:04    Titel: [Workaround]In FBGFX Screen von anderen Programm zeichnen? Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 25.04.2008, 21:33    Titel: Antworten mit Zitat

Hallo csde_rats, durchgeknallt
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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 27.04.2008, 08:21    Titel: Antworten mit Zitat

Jojo hat Folgendes geschrieben:
Hallo csde_rats, durchgeknallt

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
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 27.04.2008, 11:48    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz