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

41

19.09.2013, 20:31

C-/C++-Quelltext

1
2
3
4
int a;

int* ptr; // Deklaration
ptr = &a; // Initialisierung

Nach der Deklaration existiert der Speicher für den Zeiger zwar, er zeigt aber auf keinen sinnvollen Wert.

Wenn du also einen nicht initialisierten Zeiger übergibst, und dieser dereferenziert und gelesen/geschrieben wird, fliegt dir dein Programm um die Ohren.
"Theory is when you know something, but it doesn’t work. Practice is when something works, but you don’t know why. Programmers combine theory and practice: Nothing works and they don’t know why." - Anon

42

19.09.2013, 20:43

Ah danke, jetzt weiß ich was du meinst. Nein, in meinem Programm ist dieser Zeiger schon initialisiert worden. Ich hatte ja geschrieben:
Die deviceschnittstelle wurde schon vorher mit D3D11CreateDeviceAndSwapChain erstellt.
Sprich der Schnittstellenzeiger zeigt auf eine gültige Deviceschnittstelle und nicht auf einen leeren Speicherbereich. ;)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

43

20.09.2013, 13:57

@dot: genauso ist es. Das Model wird in meinem implementierten Code ja auch ohne Fehler geladen. Nur das Rendern klappt halt nicht wegen DirectX11. Das müsste ich dann alles in DirectX9 umschreiben, aber dafür müsste ich mich als Anfänger mal länger damit auseinandersetzten und dafür habe ich im Moment leider überhaupt keine Zeit.

Natürlich müsstest du das Rendering in D3D9 implementieren. Was genau willst du denn erreichen? Die TriBase Engine ist als Lernobjekt gedacht. Ich kann mich nur wiederholen: Theoretische Grundlagen und technische Details sind, in anbetracht der Vehemenz, mit der du ihnen aus dem Weg zu gehen versuchst, für dich ja wohl ganz offensichtlich nicht von Interesse. Offenbar geht es dir eben doch vor allem darum, möglichst schnell und einfach eine Spielidee umzusetzen!? Daran gibt es auch nichts auszusetzen, das ist ein völlig valides Ziel. In dem Fall bist du aber bei der TriBase Engine eben falsch und bei C++ sehr wahrscheinlich auch. Dafür gibt es viel besser geeignete Werkzeuge wie z.B. Unity oder das UDK oder evtl. C# und MonoGame. Dort wirst du so Dinge wie animierte Modelle bereits fix und fertig vorfinden und musst nicht erst darauf hoffen, dass irgendwer sie vielleicht für dich einbaut...

Werbeanzeige