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

13.01.2011, 16:14

Hmm. Okay das will noch nicht so ganz in meinen Kopf rein :( .

Was heißt die Projektionsmatrix von 90Grad dann ? Wenn ich dadurch nicht von oben draufgucke ? Und könnte jemand vllt. ein Dreieck posten welches nicht nur eine Linie ist ?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

12

13.01.2011, 16:21

Was heißt die Projektionsmatrix von 90Grad dann ? Wenn ich dadurch nicht von oben draufgucke ?

Die 90° sind der Öffnungswikel deines Sichtfeldes mit irgendwelchen Rotationen hat das gar nix zu tun ^^
Die ProjectionMatrix bestimmt im Prinzip die Linse deiner Kamera. Die Position und Ausrichtung deiner Kamera kontrollierst du mit der ViewMatrix und nicht mit der ProjectionMatrix.

Und könnte jemand vllt. ein Dreieck posten welches nicht nur eine Linie ist ?

Das schaffst du schon. Wenn du noch Probleme hast dir sowas im Kopf vorzustellen dann mals dir auf ein Blatt Papier. Natürlich können wir dir jetzt mal schnell 3 Punkte geben aber ein grundlegendes räumliches Vorstellungsvermögen ist ziemlich wichtig wenn du irgendwas in 3D machen willst. Also solltest du es auf jeden Fall selbst versuchen.

pepe1995

Frischling

Beiträge: 60

Wohnort: Warngau

Beruf: Schüler (10.)

  • Private Nachricht senden

13

13.01.2011, 17:04

mal was anderes
ich nehme an du rufst die render funktion einmal pro frame auf
wieso rufst du jedes mal initScene auf und deklarierst jedes mal aufs neue deine vertizes?
www.4story.de
ROCKT! ;)

14

13.01.2011, 19:00

So, hatte scheinbar einen riesen Mammutbaum vorm Kopf. Mir ist das ganze auf einmal Sonnenklar warum das Dreieck ne Linie war. Fakt ist: Das Dreieck zeichnet sich so wie es soll. Alles gut.


Eine Sache habe ich allerdings noch. Wenn ich das Dreieck drehen will, dann dreht sich das Dreieck nicht um sich selbst, sondern quasi um die Kamera ?! Wie kann ich das Dreieck um sich selbst drehen lassen ?

C-/C++-Quelltext

1
2
3
4
rotation = ue_MatrixRotationY(UE_DEG_TO_RAD(2 * timeDiff));
world =  rotation;  

HRESULT result1 = manager.DeviceInterface->SetTransform(D3DTS_WORLD, (D3DMATRIX*)(&world.ToD3DMatrix()));


So dreht es sich wie gesagt um die Kamera.

EDIT: Hat sich erledigt. Habs gerafft. Nochmals danke, eure Hilfehat mir ne Menge gebracht.

Vielen Vielen Dank für eure Hilfe und euer bemühen.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »gamer1208« (13.01.2011, 19:30)


dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

15

13.01.2011, 19:32

Das Problem ist dass dein Dreieck sich im Objectspace nicht im Ursprung befindet. Wenn du rotation * translation machst dann rotiert das Dreieck um seinen lokalen Ursprung und wird dann an die neue Position verschoben. Da du die Vertices deines Dreiecks alle an z = 1 platziert hast rotiert das Dreieck eben auch entsprechend. Lösung: Pack das Dreieck in den Ursprung (z = 0).

16

14.01.2011, 10:37

Okay, wie im Edit meines vorherigen Beitrages gesagt, habe ich es schon gelöst.

Nochmals danke für eure Hilfe. Jetzt kann endlich richtig losgehen !

Gruß -gamer1208-

Werbeanzeige