Wieso verkraftet das mein Rechner nicht?
-
TomasRiker schrieb:
@Surkevin:
In Anbetracht der Masse Deiner Fragen und dass Du scheinbar kein Stück weiterkommst, solltest Du vielleicht mal überlegen, ob Du nicht lieber mit 2D-Grafik anfängst.OK.
TomasRiker schrieb:
DirectDraw eignet sich da sehr gut. Ich habe auch noch vor kurzem ein Spiel damit geschrieben (Ricardo 2).
Find ich absolut NICHT ok. Man kann mit Direct3D ebenfalls mühelos 2D-Grafik darstellen. Es ist nicht nur besser, sondern auch EINFACHER.
-
@Optimizer:
Einfacher ist es ganz sicher NICHT.
Ich kenne mich mit Direct3D und DirectDraw sehr gut aus, und weiß, dass der Einstieg in DirectDraw wesentlich leichter ist! Klar kann man keine tollen Effekte einbauen (zumindest nicht mit Hardwarebeschleunigung), aber man braucht nicht wissen, was ein Vertex ist, wie man die Render-States setzt, man wird sich nicht fragen, wozu die Matrizen gut sind etc..Mit DirectDraw reicht ein einzelner Methodenaufruf, um ein Sprite o.ä. in den Back-Buffer zu blitten, während Du bei Direct3D erst noch einige Render-States setzen musst (z.B. für Color-Keys), das Vertexformat, evtl. Vertex- und Index-Buffer, Szene beginnen, Szene beenden etc..
Wo soll das denn EINFACHER sein?
-
DirectDraw ist doch inzwischen Geschichte.
Ich habs nur kurz kennengelernt, mit DX7, hat mich aber sehr abgeschreckt. Dann kam auch schon DX8.
Also wenn man keinerlei Erfahrungen hat, dann ists es wohl leichter sich in DirectDrar einzuarbeiten, aber wenn man schon weiß wie Renderstates, Vertices und Matrizen funktionieren ist es leichter und vorallem sinnvoller Direct3D zu nehmen.
-
TomasRiker schrieb:
@Optimizer:
Einfacher ist es ganz sicher NICHT.
Ich kenne mich mit Direct3D und DirectDraw sehr gut aus, und weiß, dass der Einstieg in DirectDraw wesentlich leichter ist! Klar kann man keine tollen Effekte einbauen (zumindest nicht mit Hardwarebeschleunigung), aber man braucht nicht wissen, was ein Vertex ist, wie man die Render-States setzt, man wird sich nicht fragen, wozu die Matrizen gut sind etc..Mit DirectDraw reicht ein einzelner Methodenaufruf, um ein Sprite o.ä. in den Back-Buffer zu blitten, während Du bei Direct3D erst noch einige Render-States setzen musst (z.B. für Color-Keys), das Vertexformat, evtl. Vertex- und Index-Buffer, Szene beginnen, Szene beenden etc..
Wo soll das denn EINFACHER sein?Ich habe in meinem Spiel gar keinen Vertexbuffer. Ich brauche ihn auch nicht, weil es eine fertige Sprite-Klasse für 2D-Sachen gibt. Ist genauso einfach nur eine einzelne Anweisung wie für das Blitten in DDraw. Desweiteren muss ich mich nicht um Clipping kümmern, das Colorkeying ist einfacher und ich kann mühelos bestimmte Bereiche einfärben.
Alles Dinge, die ich in DDraw nicht so einfach realisieren konnte. Jetzt haben wir noch nicht mal von Rotation, Zoomen und Alphablending gesprochen. Und wie Illuminator schon angemerkt hat, ist DDraw Geschichte. Auf die "altmodische Art" blitten kann man mit D3D auch. Die Minimap wird bei mir auf diese Weise gezeichnet.
Es gibt IMO wirklich keinen Grund mehr, JETZT noch DDraw zu lernen.
-
Clipping geht in DirectDraw auch automatisch, Color-Keying gibt es mit einem einzigen Befehl (während Du bei D3D den Color-Key schon beim Laden angeben und später mit Alpha-Blending arbeiten musst).
Rotieren und Alpha-Blending funktionieren ebenfalls, wenn Du dir das DC von der Surface holst und mit GDI+ darauf renderst (sollte auch hardwarebeschleunigt sein).Das soll nicht so aussehen, als ob ich DirectDraw gegenüber Direct3D bevorzuge! Ich bin nur der Meinung, dass es für einen totalen Anfänger (der, wie wir jetzt aber wissen, Surkevin garnicht ist) leichter zu erlernen ist als Direct3D. Für z.B. ein Jump and Run wird man die meisten der Direct3D-Effekte garnicht brauchen. Schau Dir beispielsweise mal mein Spiel Ricardo 2 an. Bitte lade es Dir mal runter. Ich persönlich finde, dass die Grafik garnicht schlecht ist, und ich habe für dieses Spiel DirectDraw gewählt, eben weil es so schön einfach zu initialisieren ist und alles sehr schnell geht.
-
Hey cool, es werden neue Ufer erschlossen. Jetzt mal D3D vs. DDraw.
-
TGGC schrieb:
Hey cool, es werden neue Ufer erschlossen. Jetzt mal D3D vs. DDraw.
hehe da hat er Recht
-
TomasRiker schrieb:
Clipping geht in DirectDraw auch automatisch, Color-Keying gibt es mit einem einzigen Befehl (während Du bei D3D den Color-Key schon beim Laden angeben und später mit Alpha-Blending arbeiten musst).
Rotieren und Alpha-Blending funktionieren ebenfalls, wenn Du dir das DC von der Surface holst und mit GDI+ darauf renderst (sollte auch hardwarebeschleunigt sein).Das soll nicht so aussehen, als ob ich DirectDraw gegenüber Direct3D bevorzuge! Ich bin nur der Meinung, dass es für einen totalen Anfänger (der, wie wir jetzt aber wissen, Surkevin garnicht ist) leichter zu erlernen ist als Direct3D. Für z.B. ein Jump and Run wird man die meisten der Direct3D-Effekte garnicht brauchen. Schau Dir beispielsweise mal mein Spiel Ricardo 2 an. Bitte lade es Dir mal runter. Ich persönlich finde, dass die Grafik garnicht schlecht ist, und ich habe für dieses Spiel DirectDraw gewählt, eben weil es so schön einfach zu initialisieren ist und alles sehr schnell geht.
Die Grafik is ja ganz lustig und das Spiel auch
Ich habe ja auch nicht behauptet, dass Bilder schlechter aussehen, wenn sie mit DDraw anstatt mit D3D gezichnet werden
Wir sind uns ja glaub ich einig, dass D3D zu bevorzugen ist, allein schon deshalb, weil man die DDraw-Möglichkeiten in D3D auch hat. btw, das automatische Clippen geht bei BltFast nicht, das meine ich mal gelesen zu habenIch bin halt nur der Meinung, dass auch ein absoluter Anfänger nicht mehr mit einer API anfangen sollte, die schon lange nicht mehr weiterentwickelt wird. Kennst du das Sprite-Interface?
D3D ist nicht schwerer als DDraw. Man muss über 3D-Grafik und Vertices gar nichts wissen (ich weiss auch nichts darüber).
-
Gut, wir einigen uns.
-
Hi,
die 32 Bit Indices werden von fast keiner Grafikkarte unterstützt und sollten daher nicht verwendet werden.
Wahrscheinlich schlägt schon die Erstellung des IB's fehl, oder die Daten werden entsprechend falsch als 16 Bit Indices adressiert.
@Crash
So einen Ton wollen wir hier nicht hören. Wenn Du Dir schon die Mühe machst und Zeit auf eine Antwort aufwendest, dann bitte etwas sinnvolles. Du hast auch irgendwann mal klein angefangen.Ciao,
StefanJUHUUUUUUUUUUUUUU
Durch diesen Post in seinem Forum bin ich darauf aufmerksam geworden, dass meine Geforce 4 Ti 4400 mit 32Bit Indicies nicht zu Recht zu kommen scheint - konvertiert => rebootet nimma!!! JAAAAAlso wars gar nicht meine Schuld, sondern mangelnde Erfahrung!!! Hättet mich auch mal drauf hinweisen dürfen
Kevin
-
Du hast ja nirgendwo erwähnt, dass Du mit 32 Bits arbeitest.
-
Surkevin schrieb:
Also wars gar nicht meine Schuld, sondern mangelnde Erfahrung!!!
Klar war das deine alleinige Schuld. Das steht doch ganz eindeutig in der DXSDK Doku. Lesen müsste man können...
Weiss nicht, was Crash geschrieben hat, aber er hatte wohl recht.
Bye, TGGC
-
Wer ist Crash?
Naja aber du hast ja sowieso an Allem was auszusetzen.....hätte ich ahnen können dass 32 Bit so ein Problem für viele Computer sind? nein...deshalb erwähne ich es auch nicht..ich habe ja auch nicht erwähnt wie viel Speicher ich "allokalisiere" (<- weiß nich ob das Wort stimmt ^= dynamisch angefordern)..
TGGC was meinste was ich gemacht hab? Ich hab mir jeglichen Artikel zu DrawIndexedPrimitive durchgelesen den ich finden konnte, bis ich zufällig auf Stefans Post in nem Forum gestoßen bin. Und in meiner DX 8.1 Doku steht unter dieser Funktion nicht, dass viele Rechner 32 Bit nicht verkraften. Außerdem ist ja mangelnde Erfahrung => Meine Schuld...sorry dass ich mich gefreut habe...manmanman du kannst einem echt alles vermiesen, am besten poste ich hier nichts mehr
-
Surkevin schrieb:
am besten poste ich hier nichts mehr
GENAU! Frag' lieber Deine Großmutter...!!
-
@Sgt. Nukem:
Hast Du eigentlich jemals einen Beitrag geschrieben, der wirklich was mit der Sache zu tun hatte?
-
TomasRiker schrieb:
@Sgt. Nukem:
Hast Du eigentlich jemals einen Beitrag geschrieben, der wirklich was mit der Sache zu tun hatte?Immer diese Unterstellungen...
MAMI!!!!
-
Surkevin schrieb:
Wer ist Crash?
Musst du doch wissen, der Name taucht in deinem Post zum ersten Mal auf. Weisst du nicht, wovon du redest?
Surkevin schrieb:
Naja aber du hast ja sowieso an Allem was auszusetzen.....hätte ich ahnen können dass 32 Bit so ein Problem für viele Computer sind?
Ja, steht ja in der Doku.
Surkevin schrieb:
TGGC was meinste was ich gemacht hab?
Das ist völlig egal, es zählt das Ergebnis. Und das waren tagelange Posts mit unzureichender Info zu einer Frage, die schon in der Doku beantwortet ist.
Surkevin schrieb:
Ich hab mir jeglichen Artikel zu DrawIndexedPrimitive durchgelesen den ich finden konnte, bis ich zufällig auf Stefans Post in nem Forum gestoßen bin. Und in meiner DX 8.1 Doku steht unter dieser Funktion nicht, dass viele Rechner 32 Bit nicht verkraften.
Stimmt, da steht sogar ganz genau drin, welche Grafikkarten es verkraften und welche nicht.
DX8.1 SDK Doku - IDirect3DDevice8::CreateIndexBuffer schrieb:
The MaxVertexIndex member of the D3DCAPS8 structure indicates the types of index buffers that are valid for rendering.
DX8.1 SDK Doku - D3DCAPS8 schrieb:
MaxVertexIndex
Maximum size of indices supported for hardware vertex processing. It is possible to create 32-bit index buffers by specifying D3DFMT_INDEX32; however, you will not be able to render with the index buffer unless this value is greater than 0x0000FFFF.Aber entschuldige, das ich mir erlaubt habe, berechtigte Kritik zu üben.
Bye, TGGC
-
Kann doch sein das er es überlesen hat. Wir sind doch alle hier um uns gegenseitig zu helfen.
Solche Fragen wie die von Surkevin sind doch nützlicher, auch für andere, als solche in denen gefragt wird wie man selber auf die Grafikkarte rendert
-
H.L.T.O schrieb:
Solche Fragen wie die von Surkevin sind doch nützlicher, auch für andere, als solche in denen gefragt wird wie man selber auf die Grafikkarte rendert
Vorausgesetzt, die Leute würde erstmal andere Posts lesen.
-
DX8.1 SDK Doku - D3DCAPS8 schrieb:
*lol*