AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi OpenGL: Kamera anstatt Landschaft bewegen
Thema durchsuchen
Ansicht
Themen-Optionen

OpenGL: Kamera anstatt Landschaft bewegen

Ein Thema von Weazy · begonnen am 27. Sep 2005 · letzter Beitrag vom 28. Sep 2005
Antwort Antwort
Benutzerbild von Weazy
Weazy

Registriert seit: 7. Apr 2005
Ort: Bern (Schweiz)
414 Beiträge
 
Delphi 2007 Enterprise
 
#1

OpenGL: Kamera anstatt Landschaft bewegen

  Alt 27. Sep 2005, 16:17
Hi Leute, ich hab da noch mal so ne frage zu opengl:

In der unten beschriebenen Szene wird doch nicht die Kamera, sondern die 3ds Szene bewegt, oder?
(d.h man meint nur die Kamera bewege sich, da alles rundherum um die Kamera bewegt und rotiert wird)

Wie kann ich nun aber die Kamera anstatt die Szene bewegen?

Delphi-Quellcode:
procedure render;
begin
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); //Farb und Tiefenpuffer löschen
glClearColor(1,0,1, 0.0); //Hintergrundfarbe
glLoadIdentity; // World Matrix zurücksetzen


glrotatef(rotationx,1,0,0);
glrotatef(rotationy,0,1,0);
gltranslatef(xpos, ypos, zpos);

Szene.Draw; // 3ds Szene zeichenen


SwapBuffers(form1.myDC); //scene ausgeben
end;

Vielen Dank
Philippe Wechsler
  Mit Zitat antworten Zitat
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#2

Re: OpenGL: Kamera anstatt Landschaft bewegen

  Alt 27. Sep 2005, 16:24
Stichwort "GL_Projection" und "GL_Modelview"! Guck einfach mal auf www.delphigl.com im Wiki!
Felix K.
Zitat:
Siehst du diesen Park da unten?
Jeden Tag lernen sich leute kennen und verlassen einander, und du hast dein ganzes Leben Zeit darin zu gehen!
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#3

Re: OpenGL: Kamera anstatt Landschaft bewegen

  Alt 27. Sep 2005, 16:26
tutorials lesen

Es gibt in OpenGL keine Kamera bzw. Kamerabewegung. Die Kamera sitzt immer am Punkt (0;0;0) und schaut nach (0;0;0).

Du musst die Scene rundrum bewegen. wobei natürlich ein verschieben der Kamera um 6 Einheiten nach "links" dassselbe ist wie ein verschieben der Scene um 6 Einheiten nach "rechts".

Analog gilt das auch für Rotation.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von Weazy
Weazy

Registriert seit: 7. Apr 2005
Ort: Bern (Schweiz)
414 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: OpenGL: Kamera anstatt Landschaft bewegen

  Alt 27. Sep 2005, 16:41
Das wusste ich schon, was ich meinte ist ender etwas mit glMatrixMode(GL_MODELVIEW) oder glMatrixMode(GL_GL_PROJECTION). Wie würde man den so ein Multiplayergame mit mehreren Kameras erstellen?
Philippe Wechsler
  Mit Zitat antworten Zitat
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#5

Re: OpenGL: Kamera anstatt Landschaft bewegen

  Alt 27. Sep 2005, 16:47
Zitat von Weazy:
Das wusste ich schon, was ich meinte ist ender etwas mit glMatrixMode(GL_MODELVIEW) oder glMatrixMode(GL_GL_PROJECTION). Wie würde man den so ein Multiplayergame mit mehreren Kameras erstellen?
Du kannst mit "glMatrixMode(GL_PROJECTION)" die Sicht verändern!
Felix K.
Zitat:
Siehst du diesen Park da unten?
Jeden Tag lernen sich leute kennen und verlassen einander, und du hast dein ganzes Leben Zeit darin zu gehen!
  Mit Zitat antworten Zitat
Benutzerbild von Weazy
Weazy

Registriert seit: 7. Apr 2005
Ort: Bern (Schweiz)
414 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: OpenGL: Kamera anstatt Landschaft bewegen

  Alt 27. Sep 2005, 16:58
wie geht das denn genau? Kann ich den nicht die Szene unbewegt lassen und nur die Sicht ändern oder entspricht das etwa nicht der Kamera?
Philippe Wechsler
  Mit Zitat antworten Zitat
Benutzerbild von Weazy
Weazy

Registriert seit: 7. Apr 2005
Ort: Bern (Schweiz)
414 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: OpenGL: Kamera anstatt Landschaft bewegen

  Alt 27. Sep 2005, 17:53
Ich habs Gefunden!!!! Die Funktion heisst gluLookAt!!!!
Philippe Wechsler
  Mit Zitat antworten Zitat
Phobeus

Registriert seit: 14. Sep 2003
Ort: Tespe
65 Beiträge
 
Delphi 7 Professional
 
#8

Re: OpenGL: Kamera anstatt Landschaft bewegen

  Alt 28. Sep 2005, 11:00
glTranslatef würde genauso gehen, gluLookAt ist nur eine Hilfsfunktion, die die Worldmatrix manipuliert. Bei uns auf der Seite gibt es ein Kamera-Tutorial, dass Dir auch dann noch weiterhelfen sollte, wenn es gleich um mehre Achsen gehen soll. Letztendlich sollte man sich bei OpenGL ein wenig von unserer Weltansicht verabschieden. Wer sagten den, dass Du Dich durch die Welt bewegst? Wenn ich mich auf der Stelle, dreht sich ja schließlich die Welt auch um mich
Rein von der Perspektive ist es ja auch egal, wer von den beiden sich bewegt. Daher muss man bei OpenGL immer ein wenig umdenken und nicht in "Kameras", sondern Objektbewegungen denken. Aber gut, dass Problem hat sich ja bereits erledigt und ich vermeide mal längere Monologe
Florian Sievert
http://www.delphigl.com/
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz