Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

infinity^0

Frischling

  • »infinity^0« ist der Autor dieses Themas

Beiträge: 7

Wohnort: Oberbayern

  • Private Nachricht senden

1

10.02.2011, 16:31

halb zerfetzte triangles

tag, woher könnte es kommen, dass meine primitiven triangles plötzlich so halb zerfetzt dargestellt werden?

Gibt es die Möglichkeit von 'Speicherresten'?Also, zb. zuerst 3 triangles dargestellt, Speicher bleibt bei dieser Menge reserviert, aber DrawPrimitive bekommt dann nur 1 statt 3.

Sehr eigenartig ist, als ich bisher die Worldmatrix weglies, gings immer ohne Probleme. Erst seit ein paar Tagen geht nur noch Fertigkost direkt aus dem Buch.

Erst heute gehts wieder *juhuu* mit Worldmatrix! Und (seitdem auch) zerfetzt. :(

Kann man durch falsche Behandlung von DirectX (Grafik) nen Bluescreen bekommen? Hatte gestern mehrere; allerdings am Schleppi, da warf er ne nvidia.dll stop 50-meldung raus. Ok, heute habe ich meinen 2.Rechner als 'Testesel' benutzt, um festzustellen, ob es nicht doch am Rechner liegt ;) Schleppi muss ich noch testen.

Falls es wichtig ist: ich nutze Directx9 SDK2004 Sommeredition, C++ 2010 Express Edi, XP

yo, mille grazie

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

10.02.2011, 16:35

tag, woher könnte es kommen, dass meine primitiven triangles plötzlich so halb zerfetzt dargestellt werden?

Das bedeutet genau was? Am besten wär ein Screenshot ;)

Kann man durch falsche Behandlung von DirectX (Grafik) nen Bluescreen bekommen?

Sollte eher nicht passieren aber ja, möglich ist es natürlich, liegt dann sehr wahrscheinlich am Treiber...

[...] ich nutze Directx9 SDK2004 Sommeredition [...]

Hats einen bestimmten Grund warum du eine bald 7 Jahre alte Version des SDK verwendest?
Wenn nein: da gibts das aktuelle ;)

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »dot« (10.02.2011, 16:41)


infinity^0

Frischling

  • »infinity^0« ist der Autor dieses Themas

Beiträge: 7

Wohnort: Oberbayern

  • Private Nachricht senden

3

11.02.2011, 18:51

Wow, ging aber schnell (im Gegensatz zu mir :D )

ja, ein Screenshot



beim Schleppi sah es nicht anders aus. Kurz nach dem Screenshot gings kurzzeitig.

Den Bluescreen hab ich mittlerweile wohl hinbekommen. Man sollte bei SetStreamSource im letzten Parameter nicht die Variable, sondern die Struktur angeben 8)



Zitat

Sollte eher nicht passieren aber ja, möglich ist es natürlich, liegt dann sehr wahrscheinlich am Treiber...



Sehr gut zu wissen, dass es bis auf die Ebene gehen kann :D



Zitat

Hats einen bestimmten Grund warum du eine bald 7 Jahre alte Version des SDK verwendest?

Ja, das wurde in einem Buch so empfohlen. Nur so hab ichs hinbekommen (mit Quelltexten). War ja noch was anzupassen. Und aus verschiedenen Quellen habe ich gelesen, dass DirectX sehr eigenwillig gehalten wird, sprich die eine oder andere Methode wird verändert oder einfach weggelassen o.ä.. Dass das irgendwann zu inkompatibilitäten führt braucht wohl nicht erwähnt zu werden. Ausser man passt an :thumbup: .
Habe hier im Forum gelesen, die D11er ist schon in einigen Dingen kompatibel mit der 9c, allerdings passt D11 nur für Windows 7. Ich habe W7 schon da, aber die mehrheit der Rechner fährt XP (bisher).

Ist vielleicht eine zu pauschale Frage, aber muss ich mehr anpassen von 9c auf D11, als .h's und libs, um es zu testen/wechseln?



...ähhh, mit ein wenig Glück, habe ich jetzt auch die zerfetzten triangles hinbekommen :thumbsup: .

Im Übrigen habe ich Tipps hierfür auch hier im Forum gefunden. Für alle, die dem Thema "Warum wird mein Objekt nicht richtig gezeichnet", unterliegen, mein Tipp, vielleicht liegts am fehlenden Makro D3DCLEAR_ZBUFFER in der Methode Clear. Dadurch wird der Z-Buffer gelöscht.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

11.02.2011, 23:46

Zitat

Sollte eher nicht passieren aber ja, möglich ist es natürlich, liegt dann sehr wahrscheinlich am Treiber...


Sehr gut zu wissen, dass es bis auf die Ebene gehen kann :D

Klar, Direct3D ist mehr oder weniger nur eine Vermittlerschicht zwischen dir und dem Grafiktreiber...

Und aus verschiedenen Quellen habe ich gelesen, dass DirectX sehr eigenwillig gehalten wird, sprich die eine oder andere Methode wird verändert oder einfach weggelassen o.ä.. Dass das irgendwann zu inkompatibilitäten führt braucht wohl nicht erwähnt zu werden. Ausser man passt an :thumbup: .

Das spielt wohl auf die D3DX Library an die sich im Laufe der Zeit tatsächlich etwas verändert hat. Das Interface von D3D9 selbst ist aber natürlich unverändert. Wenn man es richtig macht ist das aber alles absolut kein Problem. Um ehrlich zu sein halte ich es für eine ziemlich dumme Einstellung aus Angst vor Veränderung an einem alten SDK festzuhalten, solche "Tips" ignoriert man am Besten ;)

Habe hier im Forum gelesen, die D11er ist schon in einigen Dingen kompatibel mit der 9c, allerdings passt D11 nur für Windows 7. Ich habe W7 schon da, aber die mehrheit der Rechner fährt XP (bisher).

Je nachdem was deine Zielgruppe ist hat XP bei weitem keine Mehrheit mehr. Bei der Steam Hardware Survey ist XP mittlerweile schon unter 25%. Natürlich reflektiert das wohl eher die Gruppe der richigen Zocker, aber immerhin.

Ist vielleicht eine zu pauschale Frage, aber muss ich mehr anpassen von 9c auf D11, als .h's und libs, um es zu testen/wechseln?

Ja, D3D11 ist zwar die logische Weiterentwicklung von D3D9 hat aber ein komplett anderes Interface als D3D9. Für eine moderne D3D9 Anwendung ist ein Umstieg nicht so problematisch weil sich an den Abläufen prinzipiell nicht wirklich was geändert hat, erfordert aber trotzdem dass der ganze Grafikcode umgeschrieben wird.

Im Übrigen habe ich Tipps hierfür auch hier im Forum gefunden. Für alle, die dem Thema "Warum wird mein Objekt nicht richtig gezeichnet", unterliegen, mein Tipp, vielleicht liegts am fehlenden Makro D3DCLEAR_ZBUFFER in der Methode Clear. Dadurch wird der Z-Buffer gelöscht.

Ja, genau das hätt ich jetzt als nächstes gesagt, aber gut dass du schon selber eine Lösung gefunden hast ;)

Werbeanzeige