Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi DirectX bzw. OpenGL (https://www.delphipraxis.net/18496-directx-bzw-opengl.html)

Nakaron 19. Mär 2004 15:52


DirectX bzw. OpenGL
 
Hi,

ich möchte einen Screenshot vom aktuellen Bildschirm machen.

Wie die normalen Screenshots gehen weiß ich, doch ich möchte es über DirectX oder OpenGL machen.

Kann mir hierzu jemand helfen?


Danke schonmal - Nakaron

dizzy 19. Mär 2004 18:39

Re: DirectX bzw. OpenGL
 
Das Problem in diesem Thread ist artverwand.
Es geht, ist aber mit einem tierischen Aufwand verbunden. Das Schüsselwort hier: DLL-Hooking


gruss,
dizzy

Nakaron 19. Mär 2004 19:04

Re: DirectX bzw. OpenGL
 
einfacher gehts nicht?

dizzy 19. Mär 2004 19:27

Re: DirectX bzw. OpenGL
 
IMHO nicht. Du musst ja quasi ein DC für das Overlay haben, aber ich glaube (weiss nicht wirklich...), dass Overlays garkein DC haben. Man müsste folglich direkt aus dem RAM der GraKa lesen, aber das ist OS-Seitig verboten. Bleibt wohl nurnoch das DLL-Hooking - leider. Ich wollt's auch schon mal machen, aber nein danke. Das wäre mir zu heftig :)

Kann ja sein, dass noch jemand einen Geheimtipp in Petto hat!? Würde mich wohl auch ziemlich interessieren...


gruss,
dizzy

joe666sa 3. Apr 2004 18:24

Re: DirectX bzw. OpenGL
 
Bei ner AGP Graka kann man den Ram der Graka garnicht lesen das word erst mit PCI Express x16 gehen.

tommie-lie 3. Apr 2004 19:55

Re: DirectX bzw. OpenGL
 
Also laut diesem Tutorial von Aya wird bei OpenGL immerhin ein DeviceContext für die Initialisierung des RenderingContextes verwendet. Ob der später tatsächlich gefüllt wird oder nur für die interne Identifikation und die Positionierung auf dem Bildschirm sorgt, weiß ich nicht, aber du kannst es ja mal ausprobieren.
Wie und was bei DirectX verwendet wird, weiß ich nicht.

@joe: Warum erst bei 16x-PCI-Express? Darf man Speicher nur lesen, wenn er schnell angebunden ist? :gruebel:

Jörn 4. Apr 2004 02:33

Re: DirectX bzw. OpenGL
 
Also ich bin der Meinung das Windows es schon verbietet, den Speicher der Graka auszulesen, und die Anbindungsgeschwindigkeit hat schon gar nix damit zu tun. Und wenn man den Speicher aus der Graka hat, hat man trotzdem kein Bild sondern nur die Rohdaten und die Signale, die an den Bildschirm gesendet werden (was man wohl nicht mit einer Bilddatei vergleichen kann). Aber ich kann mir vorstellen, dass man mittels des Gerätekontextes von OpenGL den Fensterinhalt eines entsprechendem Programms / Games auslesen kann. Aber mit OpenGL kenn ich mich noch nicht so gut aus. Eine solche Frage ist dann vielleicht auch besser im Forum von www.delphigl.com aufgehoben, die sollten das wissen.

MfG

joe666sa 4. Apr 2004 09:37

Re: DirectX bzw. OpenGL
 
@tommie-lie

Nein das nicht aber die Specifikation von AGP sieht das lesen aus dem Graka speicher nicht vor.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz