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

Aktuelle Zeit: Sa Apr 04, 2020 14:23

Foren-Übersicht » Sonstiges » Projekte
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mi Mär 23, 2011 15:56 
Offline
DGL Member

Registriert: Mo Nov 09, 2009 12:01
Beiträge: 196
Bild
Beschreibung :
glCamerAH ist eine freie OpenGL-Kamera nach MPL-Lizenz, die einfach in Projekte integriert werden kann.
Von der im Wiki beschriebenen Kamera von Andree inspiriert, habe ich eine solche nach einem etwas anderen Konzept neu aufgesetzt. Insbesondere findet die Unit VectorGeometry aus GLScene weite Anwendung. Die ModelView-Matrix wird als Cameramatrix in glCamerAH geführt und verarbeitet. Neben der Cameraposition (PointofCamera) und dem Viewpunkt (PointofView) gibt es ein Rotationspunkt (PointofRotation), um den gedreht wird. Der Punkt ist unabgängig und kann verschoben werden.
Optional kann der Perspectiv- und Ortho-Modus von der Kamera verwaltet werden. Dadurch wird es möglich, den Fensterzoom (+/-) zu nutzen.
Ebenfalls ist eine ArcBall-Rotation eingefügt.

Entwickelt wurde die Kamera mit Delphi 2009, andere Delphi-/Pascal-Versionen wurden nicht getestet. Sollte es dort nicht laufen, bitte ich um Nachricht, um es auch für die Versionen anpassen zu können.
Es werden die Fremdkomponenten VectorTypes und VectorGeometry der "neuen" GLScene genutzt, die aber im Zip enthalten sind. Also GLScene selbst o.ä. muß nicht vorhanden sein. (Allerdings muß selbstverständlich dglopengl zugänglich sein.)

Features :
- Rotation um X und Y-Achse
- Rotation um die einzelnen Achsen
- Rotationsspeed
- Move in X und Y-Richtung und in die Tiefe
- Movespeed
- Verschieben des Rotationpunktes (oder nicht)
- Verwalten der Perspectiv-Modi
- Ausgleich der Verzerrung (Höhe, Breite des Fensters) z.B. beim Resize
- mehrfacher Fensterzoom (+/-)
- Setzen der Ansichten auf XY, XZ, ...
- ArcBall-Rotation
- afterRotation für ArcBall, eine Nachlauf des Balls wie bei Google-Earth
- Cursor-Icons
- alle Units der benötigten Komponenten beginnen mit CamerAH
- Selection mit PickingMatrix, rmSelection
- ColorPicking, rmColorPick
- FillLevel
- Indentity für Camera- und Projectionsmatrix CM_Identity, PM_Identity
- afterRotationSensitivity, es wird die Geschwidigkeit gemessen und ab dem Grenzwert
"afterRotationSensitivity" läuft das afterRotation oder nicht
- kompatibel zu Turbo Delphi (mit Dank an Wölfchen)

Testprogramm: https://rapidshare.com/files/460087361/Test-glCamerAH_01052011.zip

Über eure Kritik freue ich mich (hoffentlich): http://www.delphigl.com/forum/viewtopic.php?f=14&t=9812

[letzte Änderung 23.10.2011]


Dateianhänge:
TglCamerAH 23102011.zip [76.01 KiB]
389-mal heruntergeladen


Zuletzt geändert von Jens01 am Mo Okt 31, 2011 17:10, insgesamt 9-mal geändert.
Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Mär 29, 2011 11:13 
Offline
DGL Member

Registriert: Mo Nov 09, 2009 12:01
Beiträge: 196
Release 29.03.2011

Heute gibt es einige Ergänzungen :

Ein afterRotation erzeugt ein Nachlauf, wenn man bei der ArcBall-Rotation die Maus los läßt. So wie bei Google-Earth. Naja noch nicht ganz so gut, aber sehr gut brauchbar. Die Dämpfung ist einstellbar. Von ihr die Dauer des Nachlaufs abhängig. Ebenso kann man afterRotation ein- bzw ausschalten.

Einige ordentliche Icons für den Cursor habe ich erstellt. Wenn jetzt ein Rotationsmodus gesetzt wird, wird auf dem Renderfeld (Panel, Form) ein spezieller Cursor erscheinen.

Alle als Komponenten benötigte Units beginnen jetzt mit CamerAH....pas. Das sollte vorerst zur Übersicht beitragen.

Ich würde nochmals darum bitten, sich die CamerAH anzugucken, um mir einen Kommentar zu hinterlassen. Danke..

Gruss Jens


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa Apr 02, 2011 14:58 
Offline
DGL Member

Registriert: Mo Nov 09, 2009 12:01
Beiträge: 196
Release 02.04.2011

Heutige Ergänzungen :

FillLevel
Mit dem FillLevel kann relativ einfach die Szene zentral klein oder groß gezoomt werden.

rmSelection
Selection mit der PickingMatrix. Der Teil dieser Selection, die die Kamera ausführen kann.
Es kann die Tiefe eingestellt werden, in der nach dem ersten Treffer noch zusätzlich Objekte selektiert werden. Dazu wird TList und die TList.Sort genutzt, die ggf in älteren Delphiversionen angepaßt werden muß.

rmColorPick
ColorPicking gibt die Farbe unter dem gedrückten Mauscursor zurück. Das kann zur Selektion mit dem Colorpicking genutzt werden.

BugFix Zoom

Bitte hinterlaßt einen Kommentar. Danke..

Gruss Jens


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Apr 04, 2011 21:07 
Offline
DGL Member

Registriert: Mo Nov 09, 2009 12:01
Beiträge: 196
Zum besseren Verständnis stelle ich jetzt schon mal die noch unfertige Doku ein.


Dateianhänge:
Documentation CamerAH.pdf [32.59 KiB]
435-mal heruntergeladen
Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Mai 01, 2011 17:23 
Offline
DGL Member

Registriert: Mo Nov 09, 2009 12:01
Beiträge: 196
Ergänzung am 01.05.2011:

Verbesserung der Nachrotation bei de Arcball-Rotation. Der Nachlauf beginnt erst, wenn ein gewisser Schwung gegeben wird, sonst setzt er nicht ein. Das ist angenehmer zu händeln. Der Nachlauf ist jetzt schon mit dem von GoogleEarth zu vergleichen.

ein neuer Cursor-Icon für die Tiefenverschiebung


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Okt 17, 2011 13:07 
Offline
DGL Member

Registriert: Mo Nov 09, 2009 12:01
Beiträge: 196
Bugfix am 17.10.2011:
TRect wurde in der CamerAHGeometry nicht gefunden. Ich habe nun Types eingefügt, was unter Delphi vorhanden ist.
In dem Beispielprogramm waren einige Units in uses deklariert, die nicht benötigt wurden. Die sind jetzt entfernt.
Dank an Wölfchen.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Okt 23, 2011 13:21 
Offline
DGL Member

Registriert: Mo Nov 09, 2009 12:01
Beiträge: 196
kleine Änderung am 23.10.2011:
mit dieser kleinen Änderung sollte die CamerAH auch zu der ehemals freien Version von Turbo Delphi kompatibel sein. Wölfchen hat mir das bestätigt .


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 65 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.332s | 17 Queries | GZIP : On ]