Die Suche ergab 27 Treffer
- 27.01.2016, 11:51
- Forum: Grafikprogrammierung
- Thema: [Erledigt]Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung
- Antworten: 14
- Zugriffe: 5778
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...
- 26.01.2016, 19:47
- Forum: Grafikprogrammierung
- Thema: [Erledigt]Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung
- Antworten: 14
- Zugriffe: 5778
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...
- 26.01.2016, 00:44
- Forum: Grafikprogrammierung
- Thema: [Erledigt]Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung
- Antworten: 14
- Zugriffe: 5778
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,...
- 25.01.2016, 00:38
- Forum: Grafikprogrammierung
- Thema: [Erledigt]Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung
- Antworten: 14
- Zugriffe: 5778
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...
- 22.01.2016, 14:40
- Forum: Grafikprogrammierung
- Thema: [Erledigt]Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung
- Antworten: 14
- Zugriffe: 5778
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...
- 22.01.2016, 12:54
- Forum: Grafikprogrammierung
- Thema: [Erledigt]Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung
- Antworten: 14
- Zugriffe: 5778
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?
Es werden auch keine vertex shader benutzt (CreateVertexShader wird nie aufgerufen).
Aber wie funktioniert dann die Beleuchtung?
- 13.01.2016, 08:33
- Forum: Grafikprogrammierung
- Thema: [Erledigt]Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung
- Antworten: 14
- Zugriffe: 5778
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...
- 12.01.2016, 17:30
- Forum: Grafikprogrammierung
- Thema: [Erledigt]Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung
- Antworten: 14
- Zugriffe: 5778
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...
- 12.01.2016, 01:31
- Forum: Grafikprogrammierung
- Thema: [Erledigt]Direct3D 8 zu 9 Konvertierung: Falsche Beleuchtung
- Antworten: 14
- Zugriffe: 5778
[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...
- 27.08.2015, 16:11
- Forum: Grafikprogrammierung
- Thema: Spiel-Mod: Crash mit D3DCREATE_HARDWARE_VERTEXPROCESSING
- Antworten: 12
- Zugriffe: 6212
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.
Naja, ich werd mich vielleicht irgendwann noch intensiver damit beschäftigen.
- 26.08.2015, 14:03
- Forum: Grafikprogrammierung
- Thema: Spiel-Mod: Crash mit D3DCREATE_HARDWARE_VERTEXPROCESSING
- Antworten: 12
- Zugriffe: 6212
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...
- 26.08.2015, 07:47
- Forum: Grafikprogrammierung
- Thema: Spiel-Mod: Crash mit D3DCREATE_HARDWARE_VERTEXPROCESSING
- Antworten: 12
- Zugriffe: 6212
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...
- 25.08.2015, 14:21
- Forum: Grafikprogrammierung
- Thema: Spiel-Mod: Crash mit D3DCREATE_HARDWARE_VERTEXPROCESSING
- Antworten: 12
- Zugriffe: 6212
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.
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.
- 19.08.2015, 09:22
- Forum: Grafikprogrammierung
- Thema: Spiel-Mod: Crash mit D3DCREATE_HARDWARE_VERTEXPROCESSING
- Antworten: 12
- Zugriffe: 6212
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...
- 19.08.2015, 01:46
- Forum: Grafikprogrammierung
- Thema: Spiel-Mod: Crash mit D3DCREATE_HARDWARE_VERTEXPROCESSING
- Antworten: 12
- Zugriffe: 6212
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...
- 18.08.2015, 21:45
- Forum: Grafikprogrammierung
- Thema: [D3D9] "Pixelperfekte" Textur im world space
- Antworten: 7
- Zugriffe: 4152
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...
- 18.08.2015, 19:56
- Forum: Grafikprogrammierung
- Thema: [D3D9] "Pixelperfekte" Textur im world space
- Antworten: 7
- Zugriffe: 4152
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...
- 18.08.2015, 18:21
- Forum: Grafikprogrammierung
- Thema: [D3D9] "Pixelperfekte" Textur im world space
- Antworten: 7
- Zugriffe: 4152
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...
- 18.08.2015, 15:57
- Forum: Grafikprogrammierung
- Thema: [D3D9] "Pixelperfekte" Textur im world space
- Antworten: 7
- Zugriffe: 4152
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...
- 18.08.2015, 13:59
- Forum: Grafikprogrammierung
- Thema: [D3D9] "Pixelperfekte" Textur im world space
- Antworten: 7
- Zugriffe: 4152
[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...
- 08.05.2013, 17:56
- Forum: Grafikprogrammierung
- Thema: D3D8 in Windows 7 ist sehr merkwürdig?
- Antworten: 9
- Zugriffe: 2635
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).
- 08.05.2013, 14:04
- Forum: Grafikprogrammierung
- Thema: D3D8 in Windows 7 ist sehr merkwürdig?
- Antworten: 9
- Zugriffe: 2635
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)
- 07.05.2013, 12:57
- Forum: Grafikprogrammierung
- Thema: D3D8 in Windows 7 ist sehr merkwürdig?
- Antworten: 9
- Zugriffe: 2635
Re: D3D8 in Windows 7 ist sehr merkwürdig?
Hmm, bei mir ist eine ~1MB d3d8.dll in C:\Windows\SysWOW64.
- 20.03.2013, 14:46
- Forum: Grafikprogrammierung
- Thema: (gelöst) Direct3D 8 zu 9 Konvertierung per hooks
- Antworten: 4
- Zugriffe: 1780
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...
- 16.03.2013, 21:12
- Forum: Grafikprogrammierung
- Thema: (gelöst) Direct3D 8 zu 9 Konvertierung per hooks
- Antworten: 4
- Zugriffe: 1780
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...
- 16.03.2013, 18:48
- Forum: Grafikprogrammierung
- Thema: (gelöst) Direct3D 8 zu 9 Konvertierung per hooks
- Antworten: 4
- Zugriffe: 1780
- 05.03.2013, 15:51
- Forum: Grafikprogrammierung
- Thema: (gelöst) Direct3D 8 zu 9 Konvertierung per hooks
- Antworten: 4
- Zugriffe: 1780
(gelöst) Direct3D 8 zu 9 Konvertierung per hooks
Problem gelöst!
Siehe mein letzter Post. Danke trotzdem!
Siehe mein letzter Post. Danke trotzdem!