Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 16, 2025 19:45

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Sniper Zoom
BeitragVerfasst: Do Jan 20, 2005 22:03 
Offline
DGL Member

Registriert: Sa Mär 20, 2004 22:48
Beiträge: 104
Sers,

ich hab' mich schon immer gewundert, wie in einem Ego-Shooter der Sniper-Zoom realisiert wird. Ich nehme mal an, es wird eine transparente Schicht mit einem den Bildschirm füllenden Fadenkreuz im 2D-Modus gezeichet. Aber wie funktioniert der eigentliche Zoom? Erst dachte ich, man könnte doch einfach die Kamera 50m weiter nach vorne bewegen, aber wenn ich mich in einem Shooter vor eine Wand stelle, und dann draufzoome, müsste ich ja eigentlich durch die Wand zoomen. Wie kann man denn einen Zoom realisieren, der sich der Entfernung des Objektes, welches man anzoomt, anpasst?

Mfg, Gran

_________________
Der Bump Mapping User ist nur zu faul, selbst eine Wand mit Tesselation zu erstellen ;-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jan 20, 2005 22:31 
Offline
DGL Member

Registriert: Fr Dez 19, 2003 14:27
Beiträge: 107
Wohnort: Indianapolis, USA
Code:
  1. gluPerspective(60, fWidth/fHeight, 1, 128);
  2.                        ^FOV

Je kleiner du das Field Of View machst desto groesser wird was
vor der Kamera ist. Du musst nicht die Position veraendern.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jan 20, 2005 22:31 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 16, 2003 15:20
Beiträge: 198
Verkleiner den Sichtwinkel (wenn du GluPerspektive nutzt, musste nur einen Wert ändern).
Je kleiner der Sichtwinkel, desdo größer der Zoomfaktor (normal sind 60-90°, für sinper würd ic ca 20° oder so ausprobieren)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jan 20, 2005 22:31 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 02, 2003 12:47
Beiträge: 300
Wohnort: Marburg
Bei der Initialisierung von Opengl oder vor jedem Rendervorgang wird folgende Funktion aufgerufen:

gluPerspective(Angle,Width/Height,Min,Max);

Angle gibt den Sichtwinkel.
Width/Height ist das Seitenverhältniss deines Renderfensters (640/480 oder so).
Min und Max geben die minimale und maximale Sichtweite.

Zoomen ist im Prinzip lediglich eine Verkleinerung des Sichtwinkels (Optischer Zoom) :shock:

Dadurch bleibt auch die Wand hübsch vor dir :-)

Bei 60° Sichtwinkel müsstest du ihn auf
arcsin(sin(60°)/2)
verkleinern um 2X zu Zoomen (glaub ich) für 3X halt auf
arcsin(sin(60°)/3)...

Den Zoom ans Objekt anzupassen wird je nach anwendung komplizierter (wurde letztens gerade diskutiert).

_________________
Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jan 20, 2005 22:33 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 02, 2003 12:47
Beiträge: 300
Wohnort: Marburg
Einer nach dem Andern!!! :D

(Ich glaub ich muss schneller schreiben)

_________________
Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 21, 2005 12:51 
Offline
DGL Member

Registriert: Sa Mär 20, 2004 22:48
Beiträge: 104
thx für die Antworten, ich denke mal, ich kann damit was anfangen.

Mfg, Gran

_________________
Der Bump Mapping User ist nur zu faul, selbst eine Wand mit Tesselation zu erstellen ;-)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 14 Queries | GZIP : On ]