Die Suche ergab 27 Treffer

von zfxacc32
27.01.2016, 11:51
Forum: Grafikprogrammierung
Thema: [Erledigt]Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung
Antworten: 14
Zugriffe: 5429

Re: [Erledigt]Direct3D 8 zu 9 Konvertierung: Falsche Beleuch

Geschafft! Ich hatte ja mal versucht, für diese Engine hardware vertexprocessing zu aktivieren, was aber entweder zu Crashes oder Grafikfehlern führte. Nun hab ich es endlich geschafft. Es war bloß eine fehlende Nullzeiger-Prüfung, die den Crash verursacht hat. Netter Nebeneffekt: Die Beleuchtung i...
von zfxacc32
26.01.2016, 19:47
Forum: Grafikprogrammierung
Thema: [Erledigt]Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung
Antworten: 14
Zugriffe: 5429

Re: Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung

Könnte es vielleicht an der Reihenfolge der Aufrufe liegen? zB. das Setzen der vertex blending matrices zu Beginn (Device::SetTransform: 256 bis 283). Vielleicht muss das bei D3D 9 anderswo stehen? (Ich weiß, unwahrscheinlich). Bin momentan ratlos :( Ich hab auch mal versucht, die Normalen des chara...
von zfxacc32
26.01.2016, 00:44
Forum: Grafikprogrammierung
Thema: [Erledigt]Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung
Antworten: 14
Zugriffe: 5429

Re: Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung

// EDIT : Ups, Auslesen der FVF flags korrigiert Ich habe mich geirrt. Nach einer etwas ausführlicheren Analyse ist nun klar: Es wird D3DFVF_NORMAL benutzt. So sehen die Aufrufe während dem Zeichnen des Körpers aus: Zu Beginn: Device::SetTransform: D3DTS_VIEW, Device::SetTransform: D3DTS_PROJECTION,...
von zfxacc32
25.01.2016, 00:38
Forum: Grafikprogrammierung
Thema: [Erledigt]Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung
Antworten: 14
Zugriffe: 5429

Re: Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung

Okay. Was ich gerne gewusst hätte, wären alle Möglichkeiten, Beleuchtung zu implementieren. DirectX 8.1 SDK When you use Direct3D lighting and materials, you allow Direct3D to handle the details of illumination for you. Advanced users can perform lighting on their own, if desired. Ich denke damit is...
von zfxacc32
22.01.2016, 14:40
Forum: Grafikprogrammierung
Thema: [Erledigt]Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung
Antworten: 14
Zugriffe: 5429

Re: Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung

Fixed Function? Heißt das, D3D berechnet die Normalen? Es wird übrigens SetLight() aufgerufen. Welche FVFs sind denn gesetzt? Und wird der VertexBuffer jedes Frame aktualisiert oder ist der statisch? Mit ziemlicher Sicherheit XYZ, DIFFUSE und TEX. Die zweite Frage kann ich momentan nicht beantworte...
von zfxacc32
22.01.2016, 12:54
Forum: Grafikprogrammierung
Thema: [Erledigt]Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung
Antworten: 14
Zugriffe: 5429

Re: Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung

Was ich herausgefunden habe:
D3DRS_LIGHTING ist false und D3DFVF_NORMAL wird nicht gesetzt.
Es werden auch keine vertex shader benutzt (CreateVertexShader wird nie aufgerufen).

Aber wie funktioniert dann die Beleuchtung?
von zfxacc32
13.01.2016, 08:33
Forum: Grafikprogrammierung
Thema: [Erledigt]Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung
Antworten: 14
Zugriffe: 5429

Re: Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung

Danke erstmal. Ich würde das Ganze gerne eingrenzen. Wonach müsste ich suchen? (Wie wird das Transformieren gemacht? Welche D3D Funktionen werden benötigt?) Woran könnte es liegen, dass es mit Direct3D 9 plötzlich nicht mehr funktioniert? Es wurde ja am Code nichts verändert, bloß das D3D 8 Interfac...
von zfxacc32
12.01.2016, 17:30
Forum: Grafikprogrammierung
Thema: [Erledigt]Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung
Antworten: 14
Zugriffe: 5429

Re: Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung

Klaro, hier bitte, auch als mp4 Video (3.5MB, muss vielleicht manuell gespeichert werden). Richtig: http://ecjgtkr5kjn7v92d.blob.core.windows.net/pub/light1.gif http://ecjgtkr5kjn7v92d.blob.core.windows.net/pub/light1.mp4 Falsch: http://ecjgtkr5kjn7v92d.blob.core.windows.net/pub/light2.gif http://ec...
von zfxacc32
12.01.2016, 01:31
Forum: Grafikprogrammierung
Thema: [Erledigt]Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung
Antworten: 14
Zugriffe: 5429

[Erledigt]Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung

Hi, ich habe ein Spiel (ohne Quellcode) von Direct3D 8 nach 9 "konvertiert", indem ich die Direct3D Interfaces gehookt und die Funktionen weitergeleitet habe (mit ein paar Anpassungen von zB. Strukturen/Parametern). Das funktioniert auch ganz gut, doch mit der Beleuchtung der Charaktere st...
von zfxacc32
27.08.2015, 16:11
Forum: Grafikprogrammierung
Thema: Spiel-Mod: Crash mit D3DCREATE_HARDWARE_VERTEXPROCESSING
Antworten: 12
Zugriffe: 6087

Re: Spiel-Mod: Crash mit D3DCREATE_HARDWARE_VERTEXPROCESSING

Ah, das ist eine gute Idee. Leider funktioniert sie nicht. Selbst wenn ich SetSoftwareVertexProcessing() dauerhaft auf true lasse, die Objekte werden jetzt gar nicht mehr gezeichnet..
Naja, ich werd mich vielleicht irgendwann noch intensiver damit beschäftigen.
von zfxacc32
26.08.2015, 14:03
Forum: Grafikprogrammierung
Thema: Spiel-Mod: Crash mit D3DCREATE_HARDWARE_VERTEXPROCESSING
Antworten: 12
Zugriffe: 6087

Re: Spiel-Mod: Crash mit D3DCREATE_HARDWARE_VERTEXPROCESSING

Ja, ich verwende hooks. Faken habe ich schon versucht, auch wenn es wenig Sinn ergibt, weil es die Grafikkarte dadurch ja trotzdem nicht kann. Ergebnis war fehlende und teils total verzerrte Polygone. Meine Grafikkarte ist eine HD6970, doch erstelle ich das device mit D3DCREATE_HARDWARE_VERTEXPROCES...
von zfxacc32
26.08.2015, 07:47
Forum: Grafikprogrammierung
Thema: Spiel-Mod: Crash mit D3DCREATE_HARDWARE_VERTEXPROCESSING
Antworten: 12
Zugriffe: 6087

Re: Spiel-Mod: Crash mit D3DCREATE_HARDWARE_VERTEXPROCESSING

Tja, ich habe wohl den Übeltäter gefunden: D3DCAPS9::MaxVertexBlendMatrixIndex. Mit software vertexprocessing ist der Wert 255, mit hardware VP nur 8. Das Spiel führt eine andere Logik aus, wenn der Wert ((Index + 1) / 2) >= 64 ist. Ich denke wohl nicht, dass man da was machen kann (also hardware ve...
von zfxacc32
25.08.2015, 14:21
Forum: Grafikprogrammierung
Thema: Spiel-Mod: Crash mit D3DCREATE_HARDWARE_VERTEXPROCESSING
Antworten: 12
Zugriffe: 6087

Re: Spiel-Mod: Crash mit D3DCREATE_HARDWARE_VERTEXPROCESSING

Habe dazu nur gefunden, dass VBs/IBs dann nicht mit D3DUSAGE_SOFTWAREPROCESSING erstellt werden dürfen.
Das entfernen des Flags hat aber leider nichts gebracht. Weder das Erstellen noch das Locken von VBs/IBs schlägt nun fehl, trotzdem crasht es an gleicher Stelle.
von zfxacc32
19.08.2015, 09:22
Forum: Grafikprogrammierung
Thema: Spiel-Mod: Crash mit D3DCREATE_HARDWARE_VERTEXPROCESSING
Antworten: 12
Zugriffe: 6087

Re: Spiel-Mod: Crash mit D3DCREATE_HARDWARE_VERTEXPROCESSING

Grafikkarte: AMD HD6970 Den Code vom Spiel habe ich nicht. Ich habe bloß ein bisschen von den damaligen Entwicklern erfahren. Es wurde scheinbar sehr viel manuell gemacht (verschiedenste 3D-Berechnungen), aber was genau, ist schwer zu sagen. Im Endeffekt muss es aber doch am Direct3D API liegen?! Ic...
von zfxacc32
19.08.2015, 01:46
Forum: Grafikprogrammierung
Thema: Spiel-Mod: Crash mit D3DCREATE_HARDWARE_VERTEXPROCESSING
Antworten: 12
Zugriffe: 6087

Spiel-Mod: Crash mit D3DCREATE_HARDWARE_VERTEXPROCESSING

Hallo, ich versuche gerade, die Grafik eines älteren Spiels zu verbessern (Direct3D 9). Da bin ich über D3DCREATE_..._VERTEXPROCESSING gestolpert und dachte mir, gleich die Performance zu verbessern, denn das Spiel nutzt D3DCREATE_SOFTWARE_VERTEXPROCESSING. Setze ich jedoch D3DCREATE_HARDWARE_VERTEX...
von zfxacc32
18.08.2015, 21:45
Forum: Grafikprogrammierung
Thema: [D3D9] "Pixelperfekte" Textur im world space
Antworten: 7
Zugriffe: 4071

Re: [D3D9] "Pixelperfekte" Textur im world space

Hmm, du meinst den Wert nach Z, also "RHW"? Ich dachte, der soll immer auf 1.0f gesetzt sein. Hat leider nichts verändert (außer die Textur verzerrt, wenn nicht alle Werte gleich waren). (Ich zeichne jetzt übrigens direkt vor Present(), aber das sollte ja keinen Unterschied machen) // EDIT...
von zfxacc32
18.08.2015, 19:56
Forum: Grafikprogrammierung
Thema: [D3D9] "Pixelperfekte" Textur im world space
Antworten: 7
Zugriffe: 4071

Re: [D3D9] "Pixelperfekte" Textur im world space

Ah okay. Das setzen von D3DRS_ZFUNC auf D3DCMP_LESSEQUAL (übrigens der default-Wert) lässt die Textur bei 1.0f weiterhin nicht erscheinen. Ein weiteres Problem: Das Spiel hat eine Konsole, die auf Tastendruck aufgeht. Leider erscheint diese aber hinter meiner Textur. Ich habe schon herausgefunden, d...
von zfxacc32
18.08.2015, 18:21
Forum: Grafikprogrammierung
Thema: [D3D9] "Pixelperfekte" Textur im world space
Antworten: 7
Zugriffe: 4071

Re: [D3D9] "Pixelperfekte" Textur im world space

Ahaaa, wenn ich z auf 0.999f setze, sind die Objekte sichtbar, die Textur also dahinter. Ich verstehe es bloß noch nicht so genau. Wer entscheidet eigentlich, welchen z Wert ein Objekt im z-buffer bekommt? Direct3D anhand der far/near plane? Das bedeutet also, dass das Spiel diese Objekte schon sehr...
von zfxacc32
18.08.2015, 15:57
Forum: Grafikprogrammierung
Thema: [D3D9] "Pixelperfekte" Textur im world space
Antworten: 7
Zugriffe: 4071

Re: [D3D9] "Pixelperfekte" Textur im world space

Danke erstmal. Achso, orthogonal ist ja für model->screen, denke ich. Nunja, mit RHW habe ich es schon versucht. Doch sobald der z-Wert 1.0f erreicht, ist die Textur nicht mehr sichtbar (0.0f bis 0.9f geht). Vielleicht hilft der Code weiter. // define struct Vertex { float x, y, z, rhw; float tu, tv...
von zfxacc32
18.08.2015, 13:59
Forum: Grafikprogrammierung
Thema: [D3D9] "Pixelperfekte" Textur im world space
Antworten: 7
Zugriffe: 4071

[D3D9] "Pixelperfekte" Textur im world space

Hallo, ich möchte ein älteres Spiel (kein Source vorhanden) um ein paar Funktionen erweitern. Dazu verwende ich hooks. Momentan bin ich dabei, Multisampling zu aktivieren. Das Problem dabei: Das Spiel lockt den backbuffer, um das Hauptmenü zu zeichnen. Ein multisampled backbuffer ist aber nicht lock...
von zfxacc32
08.05.2013, 17:56
Forum: Grafikprogrammierung
Thema: D3D8 in Windows 7 ist sehr merkwürdig?
Antworten: 9
Zugriffe: 2420

Re: D3D8 in Windows 7 ist sehr merkwürdig?

Dann würde ein Prozess, der Direct3D 8 benutzt und d3d8.dll geladen hat, doch auch d3d10.dll geladen haben... dem ist aber nicht so (Win7 64).
von zfxacc32
08.05.2013, 14:04
Forum: Grafikprogrammierung
Thema: D3D8 in Windows 7 ist sehr merkwürdig?
Antworten: 9
Zugriffe: 2420

Re: D3D8 in Windows 7 ist sehr merkwürdig?

Guck doch einfach mal mit nem Debugger, wo der Funktionsaufruf hinführt ;) (zB http://www.ollydbg.de/version2.html)
von zfxacc32
07.05.2013, 12:57
Forum: Grafikprogrammierung
Thema: D3D8 in Windows 7 ist sehr merkwürdig?
Antworten: 9
Zugriffe: 2420

Re: D3D8 in Windows 7 ist sehr merkwürdig?

Hmm, bei mir ist eine ~1MB d3d8.dll in C:\Windows\SysWOW64.
von zfxacc32
20.03.2013, 14:46
Forum: Grafikprogrammierung
Thema: (gelöst) Direct3D 8 zu 9 Konvertierung per hooks
Antworten: 4
Zugriffe: 1756

Re: Direct3D 8 zu 9 Konvertierung per hooks (Texturenproblem

Neue Erkenntnis! ValidateDevice() kehrt bei d3d9 mit E_FAIL zurück! Bei d3d8 gibts keine Fehler. Woran könnte das liegen? Sollte d3d9 nicht mindestens alles unterstützen, was auch d3d8 unterstützt? EDIT: Aha, Problem scheinbar gelöst : http://us.generation-nt.com/answer/vertex-declaration-validatede...
von zfxacc32
16.03.2013, 21:12
Forum: Grafikprogrammierung
Thema: (gelöst) Direct3D 8 zu 9 Konvertierung per hooks
Antworten: 4
Zugriffe: 1756

Re: Direct3D 8 zu 9 Konvertierung per hooks (Texturenproblem

Auf anderen Computern dasselbe Problem. REF lässt sich leider nicht erstellen (D3DERR_NOTAVAILABLE), habe einige PresentParams versucht, HAL geht immer...
von zfxacc32
05.03.2013, 15:51
Forum: Grafikprogrammierung
Thema: (gelöst) Direct3D 8 zu 9 Konvertierung per hooks
Antworten: 4
Zugriffe: 1756

(gelöst) Direct3D 8 zu 9 Konvertierung per hooks

Problem gelöst!
Siehe mein letzter Post. Danke trotzdem!