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

1

24.09.2011, 20:09

Verschieben von Objekten [Erklärung]

Hallo
Ich möchte gerne mal nur so ganz kurz erklärt bekommen wie ich ein Objekt verschiebe.
Nehmen wir an ich habe eine Matrix Namens ma;
( D3DXMATRIX ma; )
Nun habe ich schon ein objekt in die Scene eingefügt nur wie verschiebe ich das?
So?:
ma._41+=0.001;
g_pd3dDevice->SetTransform(D3DTS_WORLD,&ma);
Wenn ja warum?
Ich habe das im Buch nicht so ganz gecheckt -.-
Danke

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

24.09.2011, 20:15

Warum probierst Du es nicht einfach aus? Ohne Experimentieren kannst Du Spieleprogrammieren vergessen.
Dann würdest Du sehen, dass es funktioniert, und müsstest nicht fragen.

Warum es funktioniert?
Google.

z.B.
http://braynzarsoft.mezoka.com/braynzarold/dxtransform.php

3

24.09.2011, 20:20

Ok ich habe es Minute später getestet mit dem Code ( TriBase)

C-/C++-Quelltext

1
2
3
4
5
6
7
mWorld.m41 += 0.001;
    // Weltmatrix zurücksetzen
    D3D.SetTransform(D3DTS_WORLD, mWorld);

    // Das Modell rendern (zuerst alle opaken Effekte, dann alle transparenten)
    g_pWorldModel->Render(-1, -1, TRUE, FALSE);
    g_pWorldModel->Render(-1, -1, FALSE, TRUE);

Danach habe ich nur noch ähm naja so alles verzerrt halt gesehen man sah nur noch Dreiecke und Linien.
Danke

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

24.09.2011, 20:45

Hast du dein mWorld auch richtig initialisiert?

5

24.09.2011, 20:53

Darf ich Fragen was ich initialiesieren muss?
Verwende TriBase engine falls es dort ne Funktion gibt.
Danke

6

24.09.2011, 21:21

OK habs gechekt :D
mWorld = tbMatrixRotationY(g_fTime) * tbMatrixTranslation(tbVector3(0.0f, -50.0f, 0.0f));
Allerdings sieht es dann so aus als ob sich die kamera drehen würde nicht aber das objekt
Danke
EDIT: Muss ich eigentlich für jedes Objekt SetTransform aufrufen was sich anderst bewegt?
Danke

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »schreib_muffel« (24.09.2011, 21:36)


Werbeanzeige