PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gesucht: D3D für blutige Anfänger


aths
2002-06-15, 02:49:43
Ich suche im Web einen Einstieg in D3D für blutige Anfänger. Das Beispiel (wohl vom DXSDK?) für VC++, das Rendern eines einfachen Dreiecks, ist da schon zu unübersichtlich für mich. (Zig Functions die immer nur andere Functions aufrufen, selbst aber praktisch nichts machen.) Gibt es nicht irgendwo, von mir via google noch unentdeckt, was für den Einsteiger? (Nach Möglichkeit für C++.)

zeckensack
2002-06-15, 08:01:54
Wie wär's damit:
http://www.gamedev.net/reference/list.asp?categoryid=24

Ehrlich gesagt habe ich mit Direct3D schon seit Ewigkeiten keinen Kontakt mehr gehabt, kann also über die Qualität/Richtigkeit der Artikel nichts sagen.

Aber was du da beschreibst, ist durchaus normal. In Direct3D etwas 'kleines' zu schreiben, ist schon anstrengend ;)




Falls doch GL, dann auf jeden Fall das hier (http://nehe.gamedev.net/) *eg*

Exxtreme
2002-06-15, 08:31:31
Originally posted by zeckensack
Falls doch GL, dann auf jeden Fall das hier (http://nehe.gamedev.net/) *eg*
Sowas interessiert mich, nur möglichst auf deutsch.

Gruß
Alex

Demirug
2002-06-15, 09:42:46
Hier gibt es eine ziemlich ausführliche Beschreibung:

http://nexe.gamedev.net

In der DX8 Hilfe sind die Tutorials IMO doch gur erklärt.

Wuzel
2002-06-15, 09:54:29
http://www.snorre-dev.com/ iss au nitt schlecht ;)

edit : DEUTSCH !

stefan42
2002-06-25, 11:50:11
Zehn Tage lang habe ich mir die Frage nun verkniffen, aber jetzt kann ich nimmer:

Warum eigentlich D3D? Hast Du wirklich Lust, jetzt 4 Monate lange DirectX 8 zu lernen, um dann im Winter DirectX 9 anzufangen? Ich wünsche Dir jetzt schon viel Spaß... Am besten viele Frameworks verwenden, die kannst Du dann auch gleich mitportieren :)

Es gibt da ja noch ein API, das eine "bisschen" konstantere Entwicklung hat, immer noch viel einfacher zu programmieren ist und mit viel, viel mehr Beispielen und Online-Books ausgestatten ist (Hinweis: Ich rede nicht über glide ;) - aber um einen Flame war zu verhindern, möchte ich nicht deutlicher werden :D)

Demirug
2002-06-25, 12:20:13
@stefan42:

Du kannst OpenGl ruhig beim Namen nennen wir sind hier nicht bei Heise.

Im Moment DirectX 8 zu lernen schadet nichts da die änerungen bei 9 minimal sind.

Jede der beiden APIs hat Vor und Nachteile und man sollte in Abhängigkeit des Anwendungsfall entscheiden was man benutzt.

Wuzel
2002-06-25, 16:35:22
Naja, das O Gl einfacher iss bezweifle ich mal ;)
Aber der grösste Nachteil an Dx ist das es Sacketeuer ist.
Du brauchst neben einem windows, am besten 2k noch minimum den Visual C++ schlonz von MS -> und der ist teuer.
Klar gibts noch von Borland was, ist aber auch nicht grad billig.
Daneben tritt noch unweigerlich bei forstschreitenden können das Problem auf, das du nicht weiter kommst.
Sobald es ans eingemachte geht, wirst du verzweifelt Bücher und tutors suchen, ein MS Phänomen.
Hier hilft bloss noch ein teurer Kurs um an die Info's zu kommen + geschleime bei den MS wizards.
Ich selbst hab auch ein paar Kurse, zwar nicht direkt DX , abgelegt.
Nun, nebst Sektenähnlicher Atmosphäre bist du dann ein Haufen Kohle loss ;)
Jetzt kann ich mich zertif tralla irgendwas schimpfen , doch richtig was nutzen tut des nitt.

Wenn du wirklich feste was ereichen willst, dies Privat bewerkstelligst, sollte man es sich echt 10 mal überlegen auf MS Platform zu entwickeln.

Xmas
2002-06-25, 16:55:41
Na ja, soo teuer ist Visual C++ auch nicht. Wer nicht wirklich professionell entwickeln will, kann sich gut mit der Standard-Version begnügen, und die kostet 131€ (6.0) bzw. 134€ (.NET)

zeckensack
2002-06-25, 17:23:55
Originally posted by Xmas
Na ja, soo teuer ist Visual C++ auch nicht. Wer nicht wirklich professionell entwickeln will, kann sich gut mit der Standard-Version begnügen, und die kostet 131€ (6.0) bzw. 134€ (.NET) Die ist totaler Shit. Da kannst du die Optimierung nicht aktivieren ... dann brauchst du den Rest auch nicht mehr.
Dann würde ich DevCC (http://www.bloodshed.net/) vorziehen. Ist zwar 'nur' der GCC unter der Haube, aber dafür ist's umsonst. MS hat in weiser Voraussicht eine etwas andere Syntax gewählt, damit man nicht mal eben zwischendurch den Compiler austauschen kann :jedifire:

Demirug
2002-06-25, 17:28:13
Das kosten argument lasse ich nicht zählen. Man kann DX auch mit kostenlosen compileren nutzen.

Im SDK gibt es zu jedem effekt ein sample und die Hilfe und die samples haben mir bisher immer gereicht. Und wenn man wirklich mal ein Problem hat bei dem man nicht weiterkommt schreibt man eben in den enstsprechenden DX Newsgroups eine Anfrage.

Wuzel
2002-06-25, 17:28:50
Originally posted by Xmas
Na ja, soo teuer ist Visual C++ auch nicht. Wer nicht wirklich professionell entwickeln will, kann sich gut mit der Standard-Version begnügen, und die kostet 131€ (6.0) bzw. 134€ (.NET)

Emacs kostet = 0€
Betriebssystem kostet = 0€
NASM kostet = 0€
Kurs kostet = 50 - 100€


Für die Win Entwicklung hab ich insgesamt locker einen 5 stelligen Betrag hingelegt und konnte noch immer nicht alles machen.
Mit Visual Standart kommt man zudem nicht alzuweit, am anfang langts, aber naja geht ziemlich flugs dann langt es nimme.
Besonders die abzocke bei den Kursen ( Seminaren ) war höllisch, neben so gut 200 DM für Bücher kammen noch 600 - 2000 DM für den Kurs selber drauf -> ein Kurs wohlgemerkt !
Davon hab ich mehrere absolviert -> aus heutiger Sicht absolute Geldverschwendung, gebracht hat es mir nichts.
In einem netten gcc kurs , der mich 50 DM für Buch und 60 DM Gebühr kostete, hatte ich danach ca. das 8 fache gegenüber einem MS Kurs gelernt, obendrauf noch nette Menschen kennengelernt.
Bei MS läuft alles wie in ner Sekte ab, die Leute rennen da geschniegelt und gebügelt, Nase zehn Meter über Boden , rum.
Dazu wird dir erst mal als auftakt ne halbe Stunde eingetrichtert warum MS so toll für dein Unternehmen ist, wie genial doch alles ist.
Dann bekommst du nen packen werbebroschüren, pause, dann labert irgendeiner wie du das und das anklickst, warum und wieso -> hat der nicht verzählt ...

Naja, ich bin mit MS durch ....

Ist nur eine Erfahrung meinerseits, wer andere gemacht hat, kann ja fröhlich weitermachen ;)

Xmas
2002-06-26, 01:23:13
Originally posted by zeckensack
Die ist totaler Shit. Da kannst du die Optimierung nicht aktivieren ... dann brauchst du den Rest auch nicht mehr.
Das finde ich dann doch etwas übertrieben. Ich bin ausdrücklich von der nicht-professionellen Entwicklung ausgegangen, und da reicht der nichtoptimierende Compiler locker aus. Und speedkritische Teile kann man ja (wie du ;)) mit Inline-Assembler (oder auch NASM wenn man denn will) optimieren.
Ich hab jedenfalls damals (müsste 1998 gewesen sein) 230DM für VC++ 6.0 Standard bezahlt und habe das nicht bereut.

MS hat in weiser Voraussicht eine etwas andere Syntax gewählt, damit man nicht mal eben zwischendurch den Compiler austauschen kann :jedifire:
Na ja, einige Compiler haben so ihre Eigenheiten. Wenn man sie kennt, kann man an den jeweiligen Stellen auch compilerspezifisch schreiben.

Wuzel,
mag ja sein dass die MS-Kurse so grauenvoll sind, aber das macht VC++ als Entwicklungstool nicht schlechter. Wenn man für Windows entwickeln will, ist es IMHO die beste Lösung (und ich hab auch schon anderes ausprobiert...), für andere Plattformen muss man sowieso was anderes nehmen.

Nasenbaer
2002-06-27, 11:26:38
@Wuzel

Es geht hier eigentlich um Direct3D und nicht um irgendwelche Seminare. :)


Es gibt zudem massig Bücher zu Direct3D. (mal bei Amazon gucken. Allerdings sind die meisten Bücher englisch).
Tutorials zu Direct3D -> siehe http://www.forum-3dcenter.org/vbulletin/showthread.php?s=&threadid=24424
sind ne Menge bei.
Zu den Büchern muss man noch sagen, dass sie zwar gut aber dafür nicht billig sind.

Zu Directx allgemein:
Wieso sollte sich der Syntax für DirectX mit jeder neuen Version fast komplett ändern??? Ist totaler humbuck. von DirectX6 auf 7 gab es einen größere Veränderung. Bei 6 gab es Retained und Immediate Mode für Direct3D. Ersteres war eine vereinfachte Forum um schneller ans Ziel zu kommen aber dafür auch mit Einschränkungen.

IMO ist Direct3D gar net mal so schwer. Habe bisher zwar auch nur ein Dreieck auf den Bildschirm gezaubert aber für mehr hatte ich bisher keine Zeit. :)


Mfg Nasenbaer

stefan42
2002-06-27, 12:25:34
Originally posted by Nasenbaer
Zu Directx allgemein:
Wieso sollte sich der Syntax für DirectX mit jeder neuen Version fast komplett ändern??? Ist totaler humbuck. von DirectX6 auf 7 gab es einen größere Veränderung. Bei 6 gab es Retained und Immediate Mode für Direct3D. Ersteres war eine vereinfachte Forum um schneller ans Ziel zu kommen aber dafür auch mit Einschränkungen.


Na ja - und unter DirectX7 gab's noch DirectDraw und Direct3D getrennt, das würde ich schon eine ganz schöne Änderung nennen.

Und das sind dann eben die vielen kleinen und größeren Änderungen, die sich im Endeffekt ganz schön aufsummieren. Aus IDirect3DDevice7 wird IDirect3DDevice8 und so weiter. Ich stimme Dir schon zu, dass der Portierungsaufwand für ein Programm, das ein Dreieck darstellt, durchaus machbar ist :D - aber für größere Projekte ist es richtige Arbeit. Hier aus 7 eine 8 gemacht, dort muß man ein bisschen anders vorgehen, um eine Zeichenoberfläche zu erzeugen und so weiter. Dann wieder alles testen...

Unter OpenGL reicht es meist aus, lokale Änderungen der Engine vorzunehmen, um die aktuelle Hardware wieder voll auszunutzen. (Z.B. ließ sich NVidia's NV_vertex_array_range Extension (für "besseres" T&L) mit geringem Aufwand integrieren.)

[Edit: Typos]

Nasenbaer
2002-06-27, 13:24:48
Naja abwärtskompatibel ist es aber soweit ich weiß. IDirect3DDevice7 wird dir auch das aktuellste SDK nicht übel nehmen.
In DirectX8 ist meiner Ansicht nach DirectDraw und Direct3D immer noch getrennt. Jedenfalls benötigte ich von Anfang an unterschiedliche Funktionen.

Außerdem wo wird im realen Leben eine Engine mit jeder neuen Dx Version immer upgadated. Um immer alle neuen Features zu nutzen ist man ja unentwegt dabei sie zu modifizieren und imo macht das kaum einen Sinn.

Mfg Nasenbaer

Demirug
2002-06-27, 13:37:56
In DX8 gibt es keine Unterstützung (DirectDraw) für 2d beschleuniger mehr. Das Thema war mit DX7 auch abgedeckt da kein Hersteller in dem Bereich noch etwas neues machen wollte.

DX: "Jungs es gibt eine neue DX Version können wir davon was für unsere Spiel brauchen? Nein wir haben keinen Content um die neuen Features zu nutzen wir bauen die neue Version in die Engine ein wenn wir das nächste Projekt starten"

OpenGL: "Jungs es gibt wieder eine neue Karte auf dem Markt schreibt gefälligst einen neuen Renderpfad dafür"

*scnr*

Nasenbaer
2002-06-27, 14:14:49
Dennoch wurde DirectDraw (mit Version 7) nicht abgeschafft sondern nur nicht weiterentwickelt und läuft einwandfrei. :)

Mfg Nasenbaer

govou
2002-06-29, 12:47:46
D3D stinkt mach lieber alles mit OpenGL!
(Du willst doch nicht etwa Microschuft unterstützen?)

Nasenbaer
2002-06-29, 13:18:31
Direct3D bietet sich bei der Entwicklung von Win32-Progs geradezu an. Kannst du Direct3D so findest du dich auch schnell mit DirectDraw, DirectPlay, DirectSound, usw. zurecht. Wenn man dann alles kann so kann man sich auch mit OpenGL auseinandersetzen aber als Anfänger lohnt es sich nicht für jedes Thema ( Netzwerk, Grafik, Sound) gleich mit einer völlig neuen API auseinanderzusetzen...

Mfg Nasenbaer

Wuzel
2002-06-29, 17:07:47
Naja, wer als Anfänger ( oder Profi ) eine Platformunabhängige API sucht -> SDL http://www.libsdl.org/index.php

läuft unter win, mac, beos, Lin, usw. usw.

Und ist very easy, zumal die comunity drum rum excellent ist. Kostenfaktor tendiert übrigens auch gegen null.