Autor Beitrag
DracoBlue
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Di 08.07.03 13:52 
Weiss jemand wie ich auf zum Beispiel auf den Bildschirm eines DirectX Spiels direkt schreiben kann?

Ich glaube das geht irgendwie mit DelphiX aber ich werd daraus nicht schlau.

Mfg,
DracoBlue
maximus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 896

Win XP, Suse 8.1
Delphi 4/7/8 alles prof
BeitragVerfasst: Di 08.07.03 15:15 
Wenn du den quellcode vorliegen hast, oder er von dir geschrieben wurde, dann kannst du mit dem ID3DXFont interface text zeichnen, der allerdings für jeden frame neu gezeichnet werden sollte!

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
uses d3dx9, d3d9, ...;
var  D3DXFont : ID3DXFont;
...
// init -> interface erzeugen lassen
D3DXCreateFont(D3DDev9, FFont.Handle, D3DXFont)
// draw rect ermitteln
var DrawRect : TRect;
..
D3DXFont.DrawTextA (PCHar (FText), length (FText), 
  DrawRect,DT_CALCRECT, FFont.Color);
// zeichnen
D3DXFont.DrawTextA (PCHar (FText), length (FText), DrawRect,
   DT_LEFT,(WorkColor and $FFFFFFor (WorkAlpha shl 24));


hoffe das hift dir weiter...?

_________________
mfg.
mâximôv
DracoBlue Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Di 08.07.03 16:21 
Titel: Hmmm,
ich glaub mein Problem ist das Interface,

Text kann ich schreiben, aber dann kommt auf leinwand kann nicht geschrieben werden.

Mfg, DracoBlue

PS: Bei Fraps(.com) funktioniert das auch, siehe fps anzeige
maximus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 896

Win XP, Suse 8.1
Delphi 4/7/8 alles prof
BeitragVerfasst: Di 08.07.03 17:34 
was fürne API benutzt du denn?

Zeig ma deinen render-loop bzw. DirectX inits.

_________________
mfg.
mâximôv
DracoBlue Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Mi 09.07.03 17:01 
Titel: Hmmm,
Also ich verwende Delphix erstelle ein TXDraw

und schreibe dann per

ausblenden Delphi-Quelltext
1:
dxdraw1.Primary.Canvas.TextOut(100,100,'Hallo');					

das klappt auch soweit, wenn ich nur auf den Bildschirm schreiben will, wenn der Desktop aktiviert ist.

Wenn aber ein Spiel wie zum Beispiel GTA ViceCity gestartet ist (nutzt directx 9 oder 8.1) dann kann ich auf die Leinwand nicht schreiben, doer so!

Keine Ahnung was du mit API meinst, aber vielleicht helfen dir ja meine etwas "anfängerlichen" Quellcodezeilen weiter.

Mfg, DracoBlue
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Mi 09.07.03 21:35 
du willst also in gta3 ein text schreiben oder was meinst du ?

er meint mit api z.b. direcX oder OpenGl und da jetzt die komponenten samlung die du nutzt.

_________________
MFG
Michael Springwald, "kann kein englisch...."
DracoBlue Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Do 10.07.03 12:45 
Jup, möchte in GTA (4) = ViceCity auf diese DirectX-Engine nen Text schreiben.


Bis denne, DracoBlue
maximus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 896

Win XP, Suse 8.1
Delphi 4/7/8 alles prof
BeitragVerfasst: Do 10.07.03 14:37 
Na dann herzlichen glückwunsch...ähmm hast du dir mal überlegt, wie du den code in den render-loop von GTA rein bekommst?

...oder hast du etwa den source-code? ...wobei der garantiert nicht mit delphiX geschrieben wurde :roll:

_________________
mfg.
mâximôv
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Do 10.07.03 17:40 
na wenn du das schafst musst mir es es umbedingt mal verraten wie du es angestellt hast:)

im ernst:
gta hat ne scrip sprache dabei, mit der kannst du es nur machen von ausen ist es fast unmöglich....

_________________
MFG
Michael Springwald, "kann kein englisch...."
DracoBlue Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Fr 11.07.03 14:47 
Titel: Hmmm, aber FRAPS
Geht mal auf FRAPS.com dort gibts ein AufnahmeTool, welches wenn ich Szenen in GTA aufnehme oben einen Fragcounter anzeigt.

Und sowas möchtel ich auch *gg*.

Mfg, DracoBlue


PS: Hab bemerkt, dass es diese Sache auch bei z.B. dem WindowsMediaPlayer anzeigt
maximus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 896

Win XP, Suse 8.1
Delphi 4/7/8 alles prof
BeitragVerfasst: Fr 11.07.03 14:58 
Entscheide dich mal, was du genau machen willst :wink:

Wenn es dein spiel und dein source-code ist, dann ist eine FPS-anzeige überhaupt kein problem!

Wenn es ein fremdes spiel ist, sprich GTA oder so, dann ist das für dich nicht möglich! Es sei denn das spiel hat die option, mit der mal den FPS-counter anstellen kann.

Was jetzt?

_________________
mfg.
mâximôv
DracoBlue Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Fr 11.07.03 15:26 
Titel: hmmm
ARG *sorry*

das ist kein ingame FragCounter das ist ein Fraps-Frag-Counter, und den würde ich gern auch machen können, scheint nur ein schreiben auf die DirectX-Fläche zu sein.

Mfg, DracoBlue
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Fr 11.07.03 16:17 
Zitat:

Fraps-Frag-Counter

was ist das denn ?
wenn du es selbst machen willst, solltes du dir anschauen wie es GTA machen(auch wenn ich nicht weiß was du meinst :( )[/quote]

_________________
MFG
Michael Springwald, "kann kein englisch...."
DracoBlue Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Fr 11.07.03 16:33 
Ladet euch einfach mal fraps runter und testet es, dann wisst ihr was ich meine.

fraps.com

Mfg, DracoBlue

PS: Mit Schreiben über die Script-Dateien schaff ich es auch, ich würd es halt bloss gern direkt über DirectX machen.
maximus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 896

Win XP, Suse 8.1
Delphi 4/7/8 alles prof
BeitragVerfasst: Fr 11.07.03 17:57 
Wir reden aneinander vorbei :?

Du redest von 'Frags'...wo is da der zusammenhang? Dieses tool 'Fraps-Frag-Counter' is ein capture tool, dass FPS (Frames Per Second) anzeigen kann etc...soweit so gut :D oder hab dich schon wieder falsch verstanden?

IMHO´wäre dein vorhaben nur möglich, wenn du dir von einer laufenden anwendung Haupt-DirectX-Surfaces (Back-und FrontBuffer) ermitteln lässt und in dem entsprechenden DirectX-device-einen callBack registrieren läst, der dich anruft, sobald 'geflipt' werden soll...dann hättest du noch die möglichkeit watt auf die surface draufzuklatschen :wink:

Frag mich nicht wie das genau gehen soll...mit delphiX auf garkeinen fall!

mfg

_________________
mfg.
mâximôv
DracoBlue Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Fr 11.07.03 18:00 
jetz hast du mich verstanden,

schade wenn das nicht geht, hmmm!

Mfg, DracoBlue
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Fr 11.07.03 20:26 
sagen wie es mal so: es geht bestimmt, nur wir wissen leider noch nicht wie es genau geht. gibt es keine doku oder sowas dazu ?

_________________
MFG
Michael Springwald, "kann kein englisch...."
maximus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 896

Win XP, Suse 8.1
Delphi 4/7/8 alles prof
BeitragVerfasst: Sa 12.07.03 01:03 
@mimi: ich sag: Rein theoretisch geht alles...es ist nur begrenst durch unser vorstellungsvermögen und unser vermögen dies, in die tat, umzusetzen :wink: ...


wollt mich mimi mal anschliessen...und'n bisschen schwafeln :D

_________________
mfg.
mâximôv
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Sa 12.07.03 12:31 
lol, so kommen wir beim problem was er hat auch nicht weiter.
wir sollten darüber reden warum es nicht so (einfach) geht. und was zu beachten ist.

_________________
MFG
Michael Springwald, "kann kein englisch...."
maximus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 896

Win XP, Suse 8.1
Delphi 4/7/8 alles prof
BeitragVerfasst: So 13.07.03 23:47 
mimi hat folgendes geschrieben:
...
wir sollten darüber reden warum es nicht so (einfach) geht. und was zu beachten ist.


Was gibts da zu bereden? ...warum es nicht so einfach geht sollte doch mittlerweile klar sein. Und zu beachten ist deshalb erstmal auch nix :lol:

_________________
mfg.
mâximôv