Kamera bewegen vs. Welt bewegen
-
Höööööööööööööö, wieso sollte man die Welt bewegen? Dafür ist doch die "Kamera" da, damit man mit ihr dort "hin guckt" wo der Benutzer es haben will. Ist doch das leichteste was es gibt
-
FireYourGuns schrieb:
Höööööööööööööö, wieso sollte man die Welt bewegen? Dafür ist doch die "Kamera" da, damit man mit ihr dort "hin guckt" wo der Benutzer es haben will. Ist doch das leichteste was es gibt
Schon mal Grafik Programmiert?
-
ChockoCookie schrieb:
Schon mal Grafik Programmiert?
Wie kann man denn Grafik programmieren?!?
-
Aoeke schrieb:
Ja, aber mithilfe des GL Utilities (GLU) kann man die Kameraposition, den Referenzpunkt und den UpVector veraendern. Heisst, damit kann man die Kamera bewegen. Jetzt wollte ich halt wissen, ob, und welche, Vor- bzw. Nachteile dabei entstehen, das so zu machen.
MfG AoekeDiese GLU-Funktionen haben den Ruf, viel zu langsam zu sein.
Wenn du mit OGL programmierst (nur das kenne ich ein bisschen) dann benutze die Kamera - dafür ist sie ja da.
-
Ich meinte damit natürlich ein Programm zu schreiben, das 3D Grafik ausgibt. (immer diese Pingeligkeit
)
btw schau mal auf den Namen dieser Forensektion
Und ich wollte damit sagen, das es wohl nicht so einfach geht der 3D API einfach so zu sagen: Ja richte die Kamera mal bitte dorthin, oder besser frag gleich die Maus wohin du sie richten sollst.
[EDIT] Ja OK mit solchen Sachen wie gluLookAt() kann man sich selber schon eine Kamera vorgaukeln. Oder man kann auch eine Kamera Klasse schreiben. Aber letztendlich müssen diese Funktionen auch intern die Koordinaten transformieren, sprich die Welt bewegen.
Aber das ist wohl Ansichtssache. So als ob das Glas halbvoll oder halbleer ist. Aber an solchen Diskussionen beteilige ich mich nicht. Ich hau lieber rechtzeitig ab, damit ich das Glas nicht wegräumen muss.
[/EDIT]
-
ChockoCookie schrieb:
Ich meinte damit natürlich ein Programm zu schreiben, das 3D Grafik ausgibt. (immer diese Pingeligkeit
)
btw schau mal auf den Namen dieser Forensektion
Und ich wollte damit sagen, das es wohl nicht so einfach geht der 3D API einfach so zu sagen: Ja richte die Kamera mal bitte dorthin, oder besser frag gleich die Maus wohin du sie richten sollst.
[EDIT] Ja OK mit solchen Sachen wie gluLookAt() kann man sich selber schon eine Kamera vorgaukeln. Oder man kann auch eine Kamera Klasse schreiben. Aber letztendlich müssen diese Funktionen auch intern die Koordinaten transformieren, sprich die Welt bewegen.
Aber das ist wohl Ansichtssache. So als ob das Glas halbvoll oder halbleer ist. Aber an solchen Diskussionen beteilige ich mich nicht. Ich hau lieber rechtzeitig ab, damit ich das Glas nicht wegräumen muss.
[/EDIT]
Öhm, ja, also, ich wüßte jetzt nicht wo hier die Schwierigkeit liegen sollte
Um deine Frage weiter oben zu beantworten...ja, ich programmiere gerade eine Engine (hab also schonmal "Grafik" programmiert ;)) und finde die Kamerabewegung wirklich nicht schwer. Scrollen war in 15 Min. implementiert.
-
OK dann hab ich dich falsch eingeschätzt. Wie gesagt es ist eine Standpunktfrage und mein Standpunkt ist, das man die Welt bewegt, weil nach allen Transformationen die API die Koordinaten so bekommt, das der Betrachter im Nullpunkt sitzt. Soll heißen auch die Kamera muss die Vertices transformieren um die Welt in die richtige Richtung zu drehen. Und letztendlich dreht sich ja auch die Sonne um die Erde
Bin jetz ein bisschen OT sorry. Will damit nur sagen das es grundsätzlich keinen Unterschied macht ob man die Welt oder die Kamera bewegt, weil es letztendlich aufs selbe rauskommt (um auf Thema zurückzukommen). Selbstverständlich ist eine Kamera, die bewegt wird programmtechnisch besser zu handhaben.
-
Hmm, dass mit "Kamera immer auf den Nullpunkt" ist ein interessanter Aspekt! Müsste mal schauen ob das für mich Vorteile bringen würde, aber jedem dass seine
-
Versteh ich da was falsch?
Das Blickfeld kann man doch einfach ohne Probleme so implementieren:
D3DMATRIX view_matrix; D3DUtil_SetViewMatrix(view_matrix, D3DVECTOR(playerposx,playerposy,playerposz), _view_at, D3DVECTOR(0.0f,1.0f,0.0f)); lpDevice->SetTransform(D3DTRANSFORMSTATE_VIEW,&view_matrix);
Hab da noch ne Frage.
Wie bekomme ich die Bewegung der Kamera flüssiger hin???
Was gibt es da für Möglichkeiten?
-
Schnallt ihr es nicht? Es gibt ehh keinen absoluten Nullpunkt. Man kann also garnicht bestimmen, ob Kamera oder die Welt bewegt wurde. Das interessiert auch überhaupt nicht, da nur die relative Bewegung zählt.
Bye, TGGC (Der Held ist zurück)
-
Schnallt Ihr es nicht?
Die View-Matrix tut doch genau das, nämlich die Welt entgegengesetzt zu bewegen...
-
Schnallt ihr das alles etwa nicht?!?
-
Nein, die schnallens wirklich nicht.
-
Aber echt, ihr unwissenden Kiddies