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

Dave

Alter Hase

  • »Dave« ist der Autor dieses Themas

Beiträge: 757

Wohnort: Berlin

  • Private Nachricht senden

1

25.04.2004, 17:48

top-ansicht

hi,

wie realisiere ich eine top-anischt?
also, dass die kamera von oben auf das geschehen schaut, aber "ohne perspektive". sprich: alle objekte sollen von oben gezeigt werden.
wenn man die kamera von (0, 20, 0) auf den uhrsprung schauen lässt, sieht man objekte die auf der x- oder z-achse verschoben sind ja nicht mehr von oben.
gibt es da eine option bei der kamera- oder projektionsmatrix?

zu der kameramatrix hätte ich noch ne frage. wenn man der funktion tbMatrixCamera als kamera position (0, 20, 0) und als "LookAt" (0, 0, 0) übergibt, also dass sie direkt nach unten schaut, sieht man gar nichts.
woran liegt das. ist sehr unangenehm....

danke.

2

25.04.2004, 18:05

Wie meinst du das phne Perspektive? Willst du reines 2D haben? So klingt es irgendwie. Dann benutz doch einfach Transformierte Vertice, die werden ohne Kamera oder andere einflüsse auf den Schirm geklatscht.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Klaus

Treue Seele

Beiträge: 245

Wohnort: Stuttgart

Beruf: Schüler

  • Private Nachricht senden

3

25.04.2004, 19:18

Ich denke, er meint ne Parallelperspektive. Das hieße, dass nicht alles auf einen (oder mehrere) Fluchtpunkt(e) zuläuft, sondern in Wirklichkeit parallele Linien auch in der Projektion Parallel sind.

Beispiel: Stadtplan.
Perspektivisch sieht man nur das genau unter dem Beobachter direkt von oben, den Rest etwas von der Seite (je weiter weg, desto mehr von der Seite).
Stadtpläne sind aber so, dass *alles* direkt von oben gezeigt wird.
Mozilla Firefox
The Browser - reloaded

Dave

Alter Hase

  • »Dave« ist der Autor dieses Themas

Beiträge: 757

Wohnort: Berlin

  • Private Nachricht senden

4

25.04.2004, 19:54

@klaus: genau so meinte ich das :-D

@dragonmaster: auf die entfernung hin (mit enfernung meine ich je tiefer bzw höher) sollen sie ja trotzdem kleiner bzw größer werden. also eine projektionsmatrix brauch ich schon.....

5

25.04.2004, 21:24

Dann schau dir mal die Orthogonale Projektionsmatrix an. Ich glaub die macht das was du haben willst. Bin mir da jetzt aber nicht so sicher.

Die D3DX-Bibi bietet da einem ein paar Funktionen an.
D3DXMatrixOrtho*
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Osram

Alter Hase

Beiträge: 889

Wohnort: Weissenthurm

Beruf: SW Entwickler

  • Private Nachricht senden

6

25.04.2004, 21:36

Zitat


auf die entfernung hin (mit enfernung meine ich je tiefer bzw höher) sollen sie ja trotzdem kleiner bzw größer werden


Bei einer Ortho-Ansicht bleibt die Größe immer gleich.

Dave

Alter Hase

  • »Dave« ist der Autor dieses Themas

Beiträge: 757

Wohnort: Berlin

  • Private Nachricht senden

7

25.04.2004, 21:46

er kennt die funktion nicht. was muss ich dafür einbinden??
hab in der hilfe auch nichts darüber gefunden.

falls jemand ein bsp. posten könnte wäre ich sehr dankbar.

Osram

Alter Hase

Beiträge: 889

Wohnort: Weissenthurm

Beruf: SW Entwickler

  • Private Nachricht senden

8

25.04.2004, 22:13

Such in der DirectX Hilfe nach D3DXMatrixOrthoLH (bzw ... RH etc).

Dave

Alter Hase

  • »Dave« ist der Autor dieses Themas

Beiträge: 757

Wohnort: Berlin

  • Private Nachricht senden

9

26.04.2004, 18:11

vielen dank!

hab jetzt noch das problem, dass ich ne fehlermeldung bekomme. irgendein konflikt zwischen tbMatrix und D3DMatrix.

Quellcode

1
2
3
4
5
tbMatrix    mProjection;

// Projektionsmatrix erstellen und aktivieren
D3DXMatrixOrthoLH((D3DMATRIX*)(&mProjection), 800.0f, 600.0f, 0.05f, 500.0f);
tbDirect3D::SetTransform(D3DTS_PROJECTION, mProjection);


hierbei bekomme ich die fehlermeldung:
'D3DXMatrixOrthoLH': Konvertierung des Parameters 1 von 'D3DMATRIX *' in 'D3DXMATRIX *' nicht möglich
Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.

Anonymous

unregistriert

10

26.04.2004, 18:18

vielleicht um das "(D3DMATRIX*)(&mProjection)" ne Klammer setzen und davor den *-Operator setzen.

Werbeanzeige