Seite 1 von 1

3D-Spieleprogrammierung Kompendium und Win7 kompatibilität

Verfasst: 24.12.2009, 23:28
von Herror
Hallo,

wollte nur mal kurz ein paar kleiningkeiten fragen zu dem Quellcode für die ZFXD3D.dll.

Ich benutze nämlich Windows 7 auf meinem Notebook. Der ist aber Grafikkartentechnisch sehr mager ausgestattet und hat auch nu 1.7GHz.
Das dürfte kein Problem sein, nur dass der Grafikchip Onboard und von Intel ist.

Auf jeden fall habe ich seit langem mal wieder das Kompendium ausgepackt um endlich mal weiterzukommen mit meinen Programmierfähigkeiten.

Anfangs hatte ich das aktuellste DirectX SDK geladen und schnell feststellen müssen, dass so sachen wie DirectX9 da nicht mehr richtig laufen :lol: .
Naja, da habe ich mir das von der CD draufgepackt. Da ich Visual Studio 2008 Express Edition benutze gab es ein paar fehler mit den standartbiblioteken, die ich in dem Quellcode verboten habe.

Nun. Dadurch konnte ich den Code kompilieren.

Dabei geht es mir jetzt nur um den Code von Kapitel 3 des Kompendiums von Zerbst, Düvel und Anderson.
Nun: habe anfangs die Demo kompiliert und dafür die *.lib und die *.dll aus dem ersten Teil des Kapitels genommen, kompiliert und ausprobiert.
Das ergebnis sah so aus: Das Fenster ist aufgetaucht, aber an der Stelle, an der die abfrage der Adapter und Modi kommen sollte ist das Fenster abgestürzt.

Dann habe ich die *.lib und die *.dll aus dem Demo ordner genommen und es nochmal probiert.
Nun ist der auch bis zum Dialog-Fenster gekommen, hat es aber nicht ausgefüllt. D.h. es gab keine Adapter die ich auswählen konnte.

Wollte nun fragen ob es ähnliche fälle mit Windows 7 gab oder ob das an meiner bescheidenen Grafikkarte liegt.
Und wie kann ich dem Abhilfe schaffen und das Buch weiter nach Plan durcharbeiten?
Gibt es irgendwo angepassten Quellcode oder so?

P.S.: Windows XP auf dem Laptop zu installieren ist fast nicht möglich, da es keine offiziellen Treiber für XP gibt und die Treiber von Usern fehleranfällig und instabil ist...
Vista läuft echt langsam drauf und deshalb will ich das auch nicht draufschmeißen.... (der kann nichtmal Flash-Seiten und Flash-Werbung flüssig darstellen)

Re: 3D-Spieleprogrammierung Kompendium und Win7 kompatibilität

Verfasst: 25.12.2009, 10:59
von Jörg
Welchen Intel-Chipsatz hast Du denn genau?

Re: 3D-Spieleprogrammierung Kompendium und Win7 kompatibilität

Verfasst: 25.12.2009, 11:15
von Herror
Also. Im Arbeitsplatzt steht sowas:
Prozessor: Celeron® M 420 (1,6GHz, 1MB Cache, 533FSB)
Ich verwende das 32 Bit-Betriebsystem
und über die Grafikkarte sagt der Gerätemanager: Standrart VGA-Grafikkarte :shock:

habe leider nicht über die Grafikkarte herausfinden können.... ich weiß aber mit sicherheit, dass es einer dieser Intel GPU's ist...
Hier habe ich im Internet eine genaue Liste mit den Daten meines Notebooks gefunden:

Hyrican M66SE

Proz./Mhz: Intel®
Celeron® M 420 (1,6GHz, 1MB Cache, 533FSB)
Display: 15,4 Zoll WXGA
MCR: 7 in 1
Hauptspeicher: 1024MB DDR2 So-Dimm, 2x So-Dimm DDR2 Steckplätze max. 2GB
Festplatte: 80GB S-ATA
DVD Writer Double Layer
Grafikspeicher: shared VGA 256MB max.
Auflösung TFT: 1280x800
Soundkarte: Azalia
Mikro
2 Lautsprecher
Akku: Li-Io (6 Zellen 4000mAH)
1x Express Card Slot
Schnittstellen:
3x USB 2.0
1x ext. Monitor
1x Line-in
1x SPDIF 1x Mic.
56K Modem
100 MBit LAN
WLAN


Mir würde an dieser Stelle eigentlich auch reichen, wenn mir jemand sagen würde, ob ein neuer Rechner helfen würde die Engine auf dem Windows7 zum Laufen zu bringen oder ob alle die Win7 drauf haben oder nur VC++ 2008 Express benutzen solche Probleme haben...

Re: 3D-Spieleprogrammierung Kompendium und Win7 kompatibilität

Verfasst: 25.12.2009, 13:37
von Jörg
Hab eben nach deinem Rechner geschaut, da ist eher ein VIA Chipsatz drin.
Letztendlich ist das egal, da ja WINDOWS 7 laeuft, sind wohl die Mindestanforderungen erfuellt , DirectX9-kompatibel zu sein :)

Setzt das Buch denn eine Shader 3.0-Hardware voraus?

Was meinst Du eigentlich mit
Anfangs hatte ich das aktuellste DirectX SDK geladen und schnell feststellen müssen, dass so Sachen wie DirectX9 da nicht mehr richtig laufen

?

Ansonsten wird wohl jemand, der das Teil (Buch) daheim hat, besser Hilfe leisten koennen. Obwohl man natuerlich beim Korrigieren fremden Codes auch eine Menge lernen kann ;)

Frohes Fest!

Re: 3D-Spieleprogrammierung Kompendium und Win7 kompatibilität

Verfasst: 25.12.2009, 14:37
von Herror
Jörg hat geschrieben:Setzt das Buch denn eine Shader 3.0-Hardware voraus?

Was meinst Du eigentlich mit
Anfangs hatte ich das aktuellste DirectX SDK geladen und schnell feststellen müssen, dass so Sachen wie DirectX9 da nicht mehr richtig laufen

?
Das Kompendium ist von 2004 und es erzeugt ein ganz normales schwarzes Fenster.
Ich habe mal das Programm, das ich geschrieben habe auf anderen Rechnern geprüft mitlerweile und es hat auch dort nicht funktoniert.... also scheint es ein Problem der ZFXD3D.dll zu sein, die ich gemacht habe...

Und mit dem neuen SDK wollte der den Code nichtmal kompilieren. Irgendein fehler mit nicht aufgelösten externen Verweisen bei dem Versuch "m_pD3D = Direct3DCreate9( D3D_SDK_VERSION );" auszuführen... mit der alten SDK version die bei der Buch-CD enthalten war ging das ganze dann...

Naja. Ich vermute einfach mal, dass die Enumeration der Grafikkarten das Problem ist. Mir bleibt da wohl nichts andere übrig als alles zu ändern und das ganze ohne die Enumeration starten zu lassen... die hat mir sowieso überhaupt nicht gefallen :lol:
Habe nämlich einmal ein ganz normales schwarzes Fenster gebastelt, so wie es die Engine im buch macht, aber ohne dll und sowas. Ganz einfach und nur mit 3 Funktionen und ohne klassen.
Da hat DirectX9 funktioniert und ich hatte keine Probleme das Programm zu kompilieren und zum Laufen zu bringen.
Rein Theoretisch dürfte es also keine Probleme mit DirectX9 geben und Shader benutze ich sowieso noch nicht in den Programmen, aber meinen Erfahrungen nach funktionieren die auf dem Chip sowieso nicht richtig (alles was ich mit Shadern versucht habe lief auf allen Rechnern, nur auf meinem irgendwie nicht :lol: ), deshalb verwende ich keine Shader für den Moment.


Und noch ne frage für die, die gerne solche Bücher lesen ^^
Irgendwie habe ich immer das Gefühl, dass in diesen Büchern garnicht verlangt wird alles nachprogrammieren zu können, was da beschrieben wird.
Weil ich alles verstehe, was dort erklärt wird, aber wenn ich das so programmiere, wie das im Buch steht, dann klappt immer irgendwas nicht...
Wird denn von einem erwartet, dass man den Quelltext der im Buch steht abschreibt uns so das Programm, was dort in den Kapiteln erklärt wird selber zusammenbastelt oder reicht es aus es zu verstehen und sich die Beispielcodes anzugucken?

P.S.: In dem 3.Kapitel des Buches geht es darum die API von dem rest der Engine abzukapseln und in einer eigenen *.dll zu programmieren. Dadurch kann man mehrere .dll dateien machen in denen dann die verschiedenen API's unterstützt werden. Dabei werden vor dem Ausführen des Programms dann alle Adapter und Modi des Adapters aufgelistet und man kann vorher wählen, wie das Fenster gerendert werden soll (Fullscreen, Farbitiefe und ähnliches).
Bei mir bleibt aber alles in der DialogBox leer, weil anscheinend kein Adapter gefunden wird.

Naja... ich weiß auf jeden fall, dass das BeispielProgramm auf anderen Rechnern, die nicht Windows 7 drauf haben funktioniert. Ob es an Windows 7 oder an meinem Grafikchip liegt weiß ich nicht.
Soll ich das Programm mal hochladen, so dass jemand anderes es auf einem Windows 7 OS testen kann?

EDIT:
lol... scheint sogar auch am dem VC++ 2008 Express zu liegen..... ach.. ich benutze einfach die alte VC++ 6 Version und basta. Wenn das dann nicht funktioniert, dann lasse ich das in ruhe ^^