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

11

24.03.2004, 23:46

Das es funktioniert ist klar. Die D3D Matrix ist genau so Definiert. Dahre ist eine Konvertierung auf deine Art möglich.

Allerdings weis ich bei Timo im Moment auch nicht weiter. Das einziege was ich voschlagen kann ist, das du einen Casting Operator für D3DMATRIX* erstellst und Intern eine static Variabel Definierst dessen Adresse du dann zurück gibst,
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Anonymous

unregistriert

12

25.03.2004, 13:59

da fällt mir ein(@dragon vielleicht meinst du das auch):

operator D3DMATRIX*() const
{
D3DMATRIX m;
m._11 = (float)m11; m._12 = (float)m12; m._13 = (float)m13; m._14 = (float)m14;
m._21 = (float)m21; m._22 = (float)m22; m._23 = (float)m23; m._24 = (float)m24;
m._31 = (float)m31; m._32 = (float)m32; m._33 = (float)m33; m._34 = (float)m34;
m._41 = (float)m41; m._42 = (float)m42; m._43 = (float)m43; m._44 = (float)m44;

return &m;
}
so könnte es gehen (habe es nicht getestet könnte sein das du auch ne zeigervar erstellen musst um die zurück zu geben).

Osram

Alter Hase

Beiträge: 889

Wohnort: Weissenthurm

Beruf: SW Entwickler

  • Private Nachricht senden

13

25.03.2004, 14:27

Nemo, der Speicher für m wird beim Verlassen Deines Operators freigegeben!

Ich bezweifele, dass es in C++ eine 100%ige Lösung gibt.

Entweder man machts mit "static" wie DragonMaster, dann darf nur eines gleichzeitig "aktiv" sein, oder man alloziert Speicher in dem Operator, dann muss sich der Aufrufer um das Freigeben kümmern. ich glaube nicht, dass man einen Operator bauen kann, der "einfach immer funktionert", ohne dass sich der Aufrufer um irgendwas Gedanken macht.

14

25.03.2004, 15:25

Wenn alles nischt Hilft, dann must du dir eine Methode bauen GetD3DMatrix. Die dann eine Konvertierte Matrix liefert. Schöner wäre natürlich ein Casting Operator, aber mit der Methode ist es auch nett so schlimm :)
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Werbeanzeige