AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Sysygy Image Viewer
Thema durchsuchen
Ansicht
Themen-Optionen

Sysygy Image Viewer

Ein Thema von littleDave · begonnen am 9. Mai 2008 · letzter Beitrag vom 16. Mär 2009
Antwort Antwort
Seite 7 von 11   « Erste     567 89     Letzte »    
Benutzerbild von littleDave
littleDave
Registriert seit: 27. Apr 2006
Hallo liebe Community,

ich möchte euch hier mein aktuelles Projekt vorstellen, an dem ich die letzten eineinhalb Jahre gearbeitet habe.

Was ist der Sysygy Image Viewer
Der Sysygy Image Viewer ist eine Art Bildbetrachtungsprogram. Es steht dabei nicht in Konkurenz zu anderen Bildbetrachtern wie z.B. IrfanView, die alle nur in 2D arbeiten. Sysygy Image Viewer stellt die Bilder in ein dreidimensionales Museum, durch das man sich wie in einem First-Person-Shooter frei bewegen kann. Die Steuerung ist dabei identisch mit der gängigen Shooter-Steuerung. WSAD oder die Pfeiltasten zum Laufen, Maus zum Umschauen und Leertaste zum springen. Bevor jetzt gleich jemand denkt: "ach wieder so ein Spin***, der unbedingt einen Shooter machen will, aber keine Ahnung hat" - bitte liest weiter bevor ihr Urteilt (ich persönlich find diese Threads "Wie mache ich einen 3D-Shooter" auch lächerlich, aber dass ist jetzt OT). Das Programm kann auf viele weise eingestellt werden, um auch auf schwächeren Systemen zu laufen. Ebenfalls können die einzelnen Shortcuts neu belegt werden.

Wie benutze ich Sysygy Image Viewer
Als erstes muss man ein Picture-Set erstellt, damit das Program auch weiß, welche Bilder dargestellt werden sollen. Dabei werden die Bilder gleich umformatiert, damit die Grafikkarte diese auch im Museum aufhängen kann. Es können beliebig viele Picture-Sets mit beliebig vielen Bildern erstellt werden. Dies alles kann man mit dem beigefügten GalleryCreator erledigen. Zusätzlich kann man jedem Bild einen fast beliebig langen Kommentar geben, denn dann angezeigt wird, sobald man in der Galerie vor dem Bild steht.
Sobald man ein Picture-Set erstellt hat, kanns auch schon losgehen. Im eigentlichen Programm wählt man dann das Picture-Set aus, dass man sich ansehen will. Danach wählt man noch eine Galerie aus, in der die Bilder aufgehängt werden soll. Nach einer kurzen Ladeperiode kann man sich frei druch das Level bewegen und sich die Bilder anschauen. Aber das ist noch nicht alles. Der Sysygy Image Viewer bietet auch eine Art Mehrspieler-Modus an. Wenn jemand einen Server erstellt, kann man sich zu diesem verbinden und dann gemeinsam durch die Levels laufen. Eigentlich genau so wie in einem First-Person-Shooter nur ohne Waffen und mit Bildern an der Wand. Mit Hilfe eines auf php und MySQL basierenden Master-Servers kann man sich bequem zu verschiedenen Servern verbinden.
Damit es im Single-Player-Modus nicht allzu langweilig wird, kann man zusätzlich noch Bots in die Galerie mit einbinden, die dann ebenfalls durch das Level laufen und sich die Bilder anschauen. Zudem kann man entweder der begefügten Musik zuhören, oder auch eine eigene PlayList mit den eigenen Musikdateien zusammenstellen.

Die Sprache des Hauptprogramms sowie von der Hilfe ist Englisch. Das Hauptprogramm ist zudem multi-language-fähig und beinhaltet bereits eine deutsche Übersetzung, die bei einem deutschen Windows automatisch geladen wird (kann man aber auch manuell einstellen)

Systemvoraussetzungen
Minimale Systemvorraussetzungen
  • Getesten mit Windows XP SP 2 (Windows 9x/ME/NT/2000/Vista sind nicht getestet) (Windows 9x/ME/NT/Vista wird offiziel nicht unterstützt)
  • 256 MB RAM (je nach Betriebssystem kann auch mehr benötigt werden)
  • 40 MB Festplattenplatz + Platz für die Picture-Sets (ein Picture-Set mit 50 Bildern braucht ca. 5 MB)
  • OpenGL 1.3 - fähige Grafikkarte mit mindestens 64 MB Video RAM
  • Minimale Bildschirmauflösung: 800x600
  • Windows kompatible Soundkarte
  • Maus und Tastatur
Empfolene Systemvorraussetzung
  • Windows XP SP 2
  • 1024 MB RAM
  • 40 MB Festplattenplatz + Platz für die Picture-Sets (ein Picture-Set mit 50 Bildern braucht ca. 5 MB)
  • OpenGL 2.0 - fähige Grafikkarte mit 128 MB Video RAM (GeForce 6800 Ultra oder ähnliche)
  • Windows kompatible Soundkarte mit Surround-Sound-Support
  • Internetanbindung mit ca. 10KB/s upload und 50KB/s download
  • Bildschirmauflösung >= 1024*768x32
Ein kurzer Blick in die Features
  • Komplett selbstgeschriebene Engine. Die Engine enthällt einen Textur- und ResourceManager, Kollisions-Engine, Server/Client-Engine, Script-Engine, Sound-Engine, KI-Engine und eine Grafik-Engine
  • Die GrafikEngine benutzt OpenGL zur Ausgabe. Das selbstgeschriebene Level-Format ist in einem VFS eingebettet und ist objekt-orientiert aufgebaut. Objekte steuern dabei die einzelnen Surfaces und helfen bei der Kollisionskontrolle. Die einzelnen Surfaces haben viele verschiedene Einstellungsmöglichkeiten, angefangen vom Blending-Mode bis hin zur Shader-Einbindung.
  • Die Lightmaps werden vom Editor ber Raytracing berechnet. Bisher ist nur Direct-Lighting eingebaut, für spätere Engine-Versionen ist auch Indirect-Lighting geplant. Die Lightmap-Auflösung jedes Surface kann beliebig skaliert werden. So kann für Surfaces mit wenig Licht- und Schattenabwechlsung eine kleinere Auflösung gewählt werden, um speicher zu sparen. Die Lightmaps werden dann noch durch einen Anti-Aliasing-Filter gejagt, um weichere Kanten zu zeichnen. Die Berechnungsdauer für die Lightmaps der mitgelieferten Karten hat insgesammt 15 Stunden gedauert.
  • Soundausgabe per FMod: die einzelnen Sound-Ermitter haben jeweils eine eigene Playlist, die automatisch verwaltet wird. Jeder Sound-Ermitter hat verschiedene Optionen, wie z.B. 3D oder 2D Sound. Dabei können die Sounddateien wahlweise aus dem Virtual-File-System oder direkt von der Festplatte geladen werden.
  • Selbstgeschrieben Script-Engine, die Pascal als Gramatik benutzt. Sie unterstützt viele Grundarten wie Byte, Single und String. Ebenso können Functios und Procedures mit beliebig vielen Parametern erstellt werden, die optional auch var-Parameter seien können. Ebenso unterstüzt die Script-Sprache die üblichen for, repeat und while-Schleifen. If und case-Anweisungen (auch mit Strings) sind ebenfalls vorhanden, genauso wie Kompileranweisungen wie {$IFDEF} oder {$INCLUDE}. Zudem können weitere Units per uses-Deklaration hinzugefügt werden. Es können "echte" Delphi-Funktionen eingebunden werden. Als zusätzliche Hilfe können diese externen Funktionen auch in Klassen zusammengefasst werden, die auch Klassenvererbung unterstützen. Auch können Variablen aus dem Programm heraus ausgelesen und verändert werden. Ein Compiler kompiliert die Skripte einmal in ByteCode, der dann von einer RunTime-Klasse ausgeführt wird.
  • Selbstgeschriebenes Multiplayer-Protokoll mit Chatunterstützung, Rechtesystem, Kick- und Bannoption, Web-Interface zur optionalen Steuerung des Servers, File-Download, Passwortsystem, ...

Screenshots
GalleryCreator:
http://www.godlikesoft.de/images/ext...b/Screen51.jpg http://www.godlikesoft.de/images/ext...b/Screen52.jpg

Sysygy Image Viewer:
http://www.godlikesoft.de/images/ext...b/Screen53.jpg http://www.godlikesoft.de/images/ext...b/Screen54.jpg http://www.godlikesoft.de/images/ext...b/Screen55.jpg
http://www.godlikesoft.de/images/ext...b/Screen56.jpg http://www.godlikesoft.de/images/ext...b/Screen57.jpg
(der Balken rechts unten ist nur die aktuelle Position der Musikwiedergabe, keine Zeitbeschränkung)

Noch kurz ein Hinweis
Für alle, die keine Lust haben die Readme zu lesen: ich möchte euch warnen, dass das Erstellen eines Picture-Sets relativ lange dauern kann (je nach Auflösung des Ursprungsbildes 1 bis 2 Sekunden pro Bild). Ihr könnt zwar jederzeit das Hinzufügen abbrechen, doch ich würde euch raten, die Anzahl der Bilder auf ca. 50-60 pro Picture-Set zu begrenzen. Ihr könnt natürlich auch mehr verwenden, doch ich wollt euch nur sagen, dass das doch etwas Zeit in Anspruch nehmen kann.
Ich könnte zwar den Vorgang beschleunigen, dadurch würde aber die Qualität der Bilder zu sehr leiden - und das wäre gerade in einem Bildbetrachter nicht so toll.

Download
  • Download: 1.3 (mit Setup)hier (ca. 36 MB).
  • Download: 1.3 (ohne Setup)hier (ca. 37 MB)
  • Download: Beispiel-Picture-Set hier (ca. 8 MB)
  • Download: Patch auf Version 1.3 hier (ca. 2,5 MB)
  • Editor: auf Anfrage (bisher ohne Hilfe)
  • Lizenz: Freeware (Redistributionerlaubnis nur auf persönliche Anfrage)
  • Sprache: [Readme]: Englisch, [GalleryCreator]: Englisch, [Hauptprogramm]: Multi-Language (Englisch + Deutsch enthalten)
  • Version: 1.3
  • Programmiert mit: Delphi 7
  • Release-Datum: 13.05.2008

ChangeLog
Die neue Version steht als Patch sowie als kompletter Download zur Verfügung. Beide Dateien sind unter dem oben angegebenen Download-Link verfügbar. Der Patch ist nur für ein Update von der letzten Version aus gültig.

Version 1.3
  • Programm: Neue Karte hinzugefügt
  • Gallery Creator: seltene Probleme beim erstellen von Picture-Sets behoben (dank der Mithilfe von bitsetter)
  • Gallery Creator: Bilderqualität beim Hinzufügen von Bildern einstellbar
  • Gallery Creator: Bilder, die nicht eine Farbtiefe von 24 Bit haben, können jetzt auch hinzugefügt werden
  • Fehlendes Texturpacket nachgeliefert (wird nur benötigt, wenn keine Shader ausgewählt sind)
  • Chat-Fenster im Multiplayer nach hinten verlagert
  • Bot-Chat wird jetzt im Programm angezeigt (deaktivierbar)
  • Rechtschreibfehler in der deutschen Sprachdatei behoben
Version 1.2
  • Screenshots werden jetzt im Programmordner gespeichert (falls Konfiguration so eingestellt)
  • letzten vier Sekunden vom ersten Lied rausgeschnitten (war keine Musik mehr)
  • Nachrichtenfenster bei Multiplayer-Ereignissen anders positioniert
  • Namen der Spieler werden jetzt angezeigt (Multiplayer)
  • Chatfenster jetzt auch außerhalb der Lobby (Multiplayer)
  • Esc schließt die Lobby bevor das Menü angezeigt wird (Multiplayer)
  • Gammawert wird jetzt gespeichert und ausgelesen
  • allgemeine Soundeinstellungen können geändert werden
  • Schriftfarbe der Servereinstellungen in der Lobby geändert
  • AVs im Server behoben
  • Probleme beim Betreten der Galerie behoben (nur Mulitplayer)
  • Länge von Chat-Nachrichten nicht mehr so arg begrenzt
  • Pos1- und Ende-Tasten funktionieren bei den Eingabefeldern
Version 1.1
  • Ordner der Konfiguration jetzt beim Start wählbar (falls eine Wahl auf Grund der Rechte nicht möglich ist, kann man keine Auswahl treffen)
  • Kleiner Rechtschreibfehler in der deutschen Sprachdatei behoben
  • Taste für dauerhaftes Rennen eingeführt (default: Feststelltaste)
  • Weiche Animationsbewegungen deaktivierbar (manche mögen das nicht)

Feedback, Bugreports oder Ideen sind wie immer sehr erwünscht

Grüße
Dave
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
 
Benutzerbild von bitsetter
bitsetter

 
Turbo Delphi für Win32
 
#61
  Alt 17. Mai 2008, 11:09
Zitat von xZise:
Zitat von Larsi:
Also das Programm hat zwar ne super Grafik ist aber bei mir ziemlich larm, woran kann das liegen? Nvidia Geforce Fx 5200 aktuelle Treiber, Vista!!!
Du meinst wahrscheinlich "lahm", aber ich würde es auf Vista schieben.
Weil bei mir laufen Andorra 2D Programme sehr langsam unter Vista, sofern ich OpenGL als Interface verwende.
Und war es nicht auch so, dass Vista OGL "drosselt"?
Mir wurde mal gesagt, dass es nur der Fall wäre wenn bei Vista Aero aktiviert worden ist und das Programm im Fenstermodus läuft, würde mich mal interessieren ob das bei dir der Fall war.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#62
  Alt 17. Mai 2008, 12:01
Hmmm.
Ich nutzte gerade VLC mit OpenGl Darstellung, damit er nicht Aero ausstellt.

Und da ich SIV nur Windowed verwende, kann ich bezüglich dazu nichts sagen
Außer dass Aero nicht ausgestellt wurde.

MfG
xZise
Fabian
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#63
  Alt 18. Mai 2008, 13:37
Nachdem ich am Wochenende nicht daheim war, konnte ich leider nicht auf eure Fragen/Anregungen reagieren. Aber das hol ich jetzt schnell mal nach

Zitat von Fussball-Robby:
Ja, mein Bruder hat es mit den selben Bildern probiert. Genug Speicherplatz ist definitiv vorhanden. Und, das ist ja das komische, egal welche meiner Bilder ich nehme, es hängt immer nach dem 9. (oder manchmal auch 10.) Bild. Das Programm selber läuft weiter, der Ladebalken in der Mitte bleibt, es wird aber kein Bild mehr geladen

Edit: Was mir gerade auffällt: Wenn ich, wenn das Laden hängt, ein paar Bilder entferne, wird weitergeladen - aber wieder nur bis zum 9. Bild..
Das ist wirklich seltsam. Anscheinend hängt sich der Lade-Thread nicht auf, sonst würde es nach dem Löschen der Bilder nicht weitergehen mit dem Laden . Es könnte sein, dass nicht genügend GDI-Resourcen verfügbar sind. Kannst du mir mal einen gefallen tun und im Taskmanager nachschauen, ob du genügend GDI-Resourcen hast (bzw. kein Programm läuft, dass extrem viele GDI-Handles offen hat)? Das klingt für mich sehr merkwürdig, aber man sollte lieber mal nachschauen. Vielleicht hast du im Hintergrund ein Programm laufen, dass extrem viele GDI-Resourcen frisst - mehr fällt mir dazu im Moment nicht ein

Zitat von xZise:
ich wollte nur mal gesagt haben, dass das Grün etwas zu hell bzw. die Schrift zu hell ist. Man kann kaum die Werte bei Server entziffern.
Stimmt, die sind wirklich nicht sehr gut zu lesen. Werd es anpassen. Vielen dank für den Hinweis.

Zitat von Larsi:
Also das Programm hat zwar ne super Grafik ist aber bei mir ziemlich larm, woran kann das liegen? Nvidia Geforce Fx 5200 aktuelle Treiber, Vista!!!
Ich glaube, dass es an beiden Sachen liegt - der Grafikkarte und Vista. Die Oberfläche von Vista ist nicht OpenGl-kompatibel. Wenn du jetzt die Aero-Oberfläche anhast, versucht Vista OpenGL mit DirectX zu emulieren und dass ist nicht gerade sehr performant (ich weiß nicht, ob das stimmt - ich mein nur sowas mal gelesen zu haben). Zum anderen ist deine Grafikkarte nicht mehr die allerbeste. Deine Grafikkarte unterstützt z.B. kein OpenGL Shading Language (auch GLSL oder GLSlang genannt). NVidia hat aber bei den neusten Treibern diese Features hinzugefügt, indem sie per Software emuliert werden und dass ist extrem langsam. Was vielleicht hilft ist, wenn du unter Optionen - Grafik den Punkt Benutze OpenGL-Shader deaktivierst. Das sollte schon mal einen großen Performance-Schub geben, wenn die Shader per Software emuliert würden.

Das ist übrigens das größte Mankro bei OpenGL - man kann nicht abfragen, ob eine Funktion wirklich von der Hardware unterstützt wird. Bei DirectX gibt es dazu einen Flag, der sagt, ob diese Funktion wirklich von der Hardware verstanden wird. Daher kann ich mich beim Abfragen der Grafik-Features nur darauf verlassen, was mir der Treiber sagt - und der kann mir alles sagen, was er will. Das hat Microsoft mit DirectX viel besser gelöst, schade dass sich die Leute von OGL keine Scheibe davon abschneiden.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#64
  Alt 18. Mai 2008, 13:41
Eine Frage Was für Bilder hattest du diese Woche eingestellt

MfG
xZise
Fabian
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#65
  Alt 18. Mai 2008, 13:47
Ich hatte diese Woche nur meine Universe-Bilder online. Hatte auch mal den Server mit den Bildern "a1.stp" (der hieß Mikes Server oder so) gefunden - doch diese Bilder waren nicht von mir. Naja, wer sowas schön findet ... ich sag da mal nichts zu
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG
 
#66
  Alt 18. Mai 2008, 15:32
Zitat von littleDave:
Die Oberfläche von Vista ist nicht OpenGl-kompatibel. Wenn du jetzt die Aero-Oberfläche anhast, versucht Vista OpenGL mit DirectX zu emulieren und dass ist nicht gerade sehr performant (ich weiß nicht, ob das stimmt - ich mein nur sowas mal gelesen zu haben).
Auch etwas, was ich dazu nur gelesen habe:
Im Fullscreen wird nicht emuliert.

Ich weiß nicht, ob es stimmt, aber es wär doch einen Versuch wert.


MfG,
Bug
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#67
  Alt 18. Mai 2008, 22:47
Also es ändert sich definitiv nichts zu Aero Basic, wenn SIV läuft.

Um euch mal uptodate zu halten:
  • Eine neue Karte ist gerade in Entwicklung
  • Nachrichten können jetzt länger sein als sonst
  • Pos1 und Ende funktionieren (Note an David: Ende springt vor dem letzten Zeichen)

MfG
xZise
Fabian
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#68
  Alt 21. Mai 2008, 21:20
Sodala, ich hab gerade Version 1.2 hochgeladen. Ein Patch ist diesmal auch wieder verfügbar. Der komplette Change-Log ist im ersten Post niedergeschrieben.

@bitsetter: ich hab jetzt die Soundeinstellungen variabel gemacht. Um die Soundeinstellungen einzustellen, gibt es jetzt ein zusätzliches Programm: SoundConfig.exe. Ich hoffe, das hilft dir bei deinem Problem. Der Gammawert wird jetzt ebenfalls gespeichert.

Wie xZise schon erwähnt hat, arbeiten wir beide gerade an einer neuen Karte. Leider ist die noch nicht fertig, daher ist sie bei diesem Patch noch nicht dabei. Ich wollte aber mit Patch nicht mehr warten, das gerade das Problem von bitsetter eine sehr hohe Priorität hat. Auch sind mir schon mehrere Bugs im Multiplayer-Bereich aufgefallen, die ich so schnell wie möglich gefixed habe. Ich denke aber, dass ich die neue Karte als seperaten Download anbieten werde (so wie das Beispiel-Picture-Set). Einen genauen Termin kann ich noch nicht sagen, da ich überhaupt nicht abschätzen kann, wie gut wir vorrankommen.

Zu dem Problem mit der Kerio-Firewall: ich hab geschaut und konnte keine zu kleinen TimeOuts finden. Da ich das Problem leider nicht live sehen kann, wird es für mich sehr schwer, das Problem zu finden. Ich persönlich würde aber davon ausgehen, dass die Firewall das Problem ist, bei mir hab ich ein solches Problem nicht beobachten können.

[edit]Jetzt hab ich ja glatt noch was vergessen . Ich hab mir den GalleryCreator noch mal angeschaut und konnte leider dein Problem, Fussball-Robby, nicht nachvollziehen. Ich bin in der Hinsicht gerade mit meinem Latein am Ende, sorry. Ich hab echt keine Ahnung, woran das liegt.[/edit]

Grüße
Dave
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

 
Turbo Delphi für Win32
 
#69
  Alt 22. Mai 2008, 08:02
Zitat von littleDave:
@bitsetter: ich hab jetzt die Soundeinstellungen variabel gemacht. Um die Soundeinstellungen einzustellen, gibt es jetzt ein zusätzliches Programm: SoundConfig.exe. Ich hoffe, das hilft dir bei deinem Problem. Der Gammawert wird jetzt ebenfalls gespeichert.
Alle Einstellungen habe ich noch nicht durchprobiert, aber wenn ich unter Select Output Device Creative Sound Blaster PCI auswähle ist das Knacken extrem(fast gar nicht zu machen) zu hören. Bei der Auswahl von Primärer Soundtreiber, habe ich wenig- kein Knacken gehört.
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#70
  Alt 22. Mai 2008, 12:29
Zitat von bitsetter:
Alle Einstellungen habe ich noch nicht durchprobiert, aber wenn ich unter Select Output Device Creative Sound Blaster PCI auswähle ist das Knacken extrem(fast gar nicht zu machen) zu hören. Bei der Auswahl von Primärer Soundtreiber, habe ich wenig- kein Knacken gehört.
Dann sind wir wenigstens auf der richtigen Baustelle. Ich würd die empfehlen, mal die Mixer-Einstellungen auszuprobieren und die Output-Rate vielleicht zu verkleinern. Was auch noch interessant wäre ist, wenn du mal nicht DirectSound sondern z.B. Windows Multimedia Output benutzt. Ich hoffe aber, dass wir bald das Problem lösen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 7 von 11   « Erste     567 89     Letzte »    


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 01:19 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