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

Aktuelle Zeit: Mi Apr 17, 2024 00:36

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



Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: X-Dream Engine
BeitragVerfasst: Do Feb 23, 2006 17:16 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Hiermit möchte ich ein Projekt vorstellen was schon einige Zeit in arbeit ist.
Der Titel des Projektes lautet X-Dream und ist eine Engine, wie der Titel schon sagt.

X-Dream hat viele tolle Features und viele davon werde ich nun zur Schau stellen.
Der Source ist für Freepascal compiler ausgelegt kann aber auch unter Delphi compiliert werden(mit leichten einschränkungen der Features in bezug auf Logger).

X-Dream verwendet ein sehr flexibles und leicht auf weitere Datenmedien(z.B. mySQL,file,server,...) erweiterbaren Logger.
Wenn der Freepascal compiler verwendet wird werden alle Informationen die die Application bezüglich Errors und Exceptions ausgibt automatisch geloggt.
Hierzu wird je nach compilersettings auch Zeile und Codefetzen der den fehler aufgerufen hat mit geloggt.

Es werden auch ein Unitpaket mitgeliefert was Systeminformationen abfragt und zur verfügung stellt, hierzu zählen Hardware und Software.
Ein paar Beispiele wären Ram-, Cpu-, Zeit-, Netzwerk-, OS-informationen. Diese sind im moment nicht auf allen unterstützen OS im gleichen Umfang abfragbar.

X-Dream unterstützt auch Wavelet basierte Grafiken neben standardformaten wie Png, Jpeg, Bmp,... .

Eine voll funktionsfähige implementierung von Lua ist bereits vorhanden. Wem diese Scriptsprache nichts sagt sollte mal in google nach "Lua World of Warcraft" suchen oder einfach "Lua" und wird weitere bekannte spiele finden die diese simple Scriptsprache nutzen.

OpenAL ist in kombination mit Ogg Vorbis verfügbar und funktionsbereit.

Für Physik wird Newton genutzt und eventuell auf ODE erweitert.

X-Dream bietet Bitmap Fonts und TrueTypeFonts zum darstellen von Text.

Helferunits wie Timer und Camera erleichtern das arbeiten mit Bewegungen und Zeit.

Es ist auch ein GUI System geplant, welches über GTK2 Themes grafisch verändert werden kann.

Ein großes Augenmerk legt das Projekt auf Cross und somit nutzt es folgende fremde libs, OpenAL, OpenGL, SDL, SDL_Image, SDL_TTF, Ogg Vorbis, zlib, newton/ode(ist noch nicht raus) und Lua.

Die Engine ist komplett kostenlos und kann ohne bedenken für kommerzielle Zwecke genutzt werden, da der Engine Code unter GPL steht und alle verwendeten Libs ebendfalls GPL oder Art verwandte Lizensen zu grunde liegen.
Man braucht keine Angst haben Lizensen zu verletzen wie es dann der Fall bei mp3, md3, gif oder ähnlichen Formaten der Fall wäre.

Die Engine baut sich in 2 Teile auf Core und Engine.
Die Core enthält alle Units, die fast ausnahmslos durch eigene units ersetzbar sind und somit eine an eigene Bedürfnisse angepasste Version ermöglicht.
Die Core stellt hierbei eine Low Level API dar und die Engine ist dann die High Level API und bindet mehere Units von der Core zu einer kompakten Klasse zusammen.

Teamleitung und Hauptentwicklung mache ich,
Texturen und rund ums Thema ist Frase zuständig und
für Netzwerk ist ein Freund namens Xenion zuständig.

Die Dokumentation wird über PasDoc geregelt und Codeformatierungen sowie andere Dokumentationen sind in frei zugängliche Datein festgelegt.

Der Sourcecode wird über ein SVN verwaltet und Mantis sorgt für das Bug Tracking.

Wo findet man mehr informationen ?
http://linuxprofessionals.org/xdream/

Wo liegt der Source?
svn://www.linuxprofessionals.org/xdream/
oder
einfach auf der Website unter Download und svn gucken.

Sorgen und Probleme sollte man als mail (x-dream@neroneus.de) an mich schreiben oder ins forum posten.
Ein Bugtracker ist in kürze geplannt.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Zuletzt geändert von TAK2004 am Di Aug 29, 2006 11:37, insgesamt 2-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 03, 2006 17:29 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Es ist nun ein Bugtracker verfügbar, in dem man nun Fehler,Probleme, Feature Wünsche oder verbesserungs vorschläge machen kann.
Zu finden ist der Bug Tracker auf der Website unter "X-Dream Engine->Bug Tracker" oder unter folgenden Link http://linuxprofessionals.org/xdream/mantis/main_page.php.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Zuletzt geändert von TAK2004 am Di Aug 29, 2006 11:38, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 03, 2006 21:56 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1944
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Bilder sagen meist mehr als tausend Worte und daher gibt's hier eine kleine Auswahl von X-Dreams Fähigkeiten in verdaulichen Portionen serviert *g*:
BildBildBild
(Alternative Bilderquelle, falls ihr diese Bilder nicht sehen könnt *g*)
Das erste Bild zeigt hauptsächlich 2 Dinge. Zum einen das Fontsystem und zum Anderen die GUI. Die Fonts werden per SDL_TTF generiert und in Texturen abgelegt. Das wird erstens sehr schnell generiert und zweitens ist auch die Darstellung recht performant ;) Außerdem kann mitten im Text die Farbe geändert werden, wie man auch auf dem Screenshot erkennen kann.
Dann ist da natürlich noch die GUI. Zu der gibt es nicht allzu viel zu sagen... ;)

Der zweite Shot zeigt im Großen und Ganzen den Texturmanager in Aktion. Der lädt alle Formate, die SDL laden kann. Also TGA , BMP, PNM, XPM, XCF, PCX, GIF, JPG, TIF, LBM und PNG. Texturen, die nicht Power of Two sind, werden entsprechend skaliert und dabei auf Wunsch geschärft, um so Detailverlusten durch Verkleinerung vorzubeugen. MipMaps werden schnellstmöglich, je nach verwendeter Hardware, erzeugt. Dabei wird peinlichst darauf geachtet, ja nicht zu oft die glu-Funktionen zu bemühen, sondern möglichst viel direkt auf der Grafikkarte berechnen zu lassen.
Der Texturmanager zeigt seine wahren Stärken jedoch im Management der Texturen *g*. So werden auf Wunsch mittels Referenz-Counter nicht mehr benötigte Texturen bei Speicherknappheit aus dem Speicher entfernt, um so Platz für neue Texturen zu schaffen. Außerdem werden Texturen auf Wunsch erst dann geladen, wenn sie tatsächlich benutzt werden.
Geplant ist außerdem noch Support für komprimierte Texturen und das Laden der Texturen in einem eigenen Thread um so das eigentliche Programm nicht allzulange aufzuhalten.

Und den letzten Screenshot lass ich noch ein wenig im Dunkeln stehen ;)

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Zuletzt geändert von Frase am Mi Apr 26, 2006 16:08, insgesamt 2-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 03, 2006 23:58 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1944
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Dreimal dürft ihr raten, was das da ist:
Bild
:mrgreen:
(Alternative Bilderquelle, falls ihr diese Bilder nicht sehen könnt *g*)

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mär 04, 2006 14:59 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1944
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
I'm very pleased to announce, dass wir euch nun auch Nightly Builds zur Verfügung stellen können ;)
Das bedeutet für euch, dass ihr nicht zwingend über einen SVN-Client verfügen müsst, um euch X-Dream zu holen. :D
Jede Nacht um Punkt 0 Uhr wird eine Kopie des SVN gezogen und als komprimiertes tar.gz Archiv zum Download auf der Website bereitgestellt.
Das Ganze findet sich hier: http://x-dream.neroneus.de/?link=packages

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 23, 2006 06:45 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich mach mal wieder ein Newspost, um mal den Stand der Dinge zu zeigen.
Wir haben erstmal einige Bugfixes gemacht in Bezug auf Kompatibilität mit Linux/Windows und FreePascal/Delphi angeht.
Es gibt einige neue Units wie z.B. XD_Path.pas,XD_Perfmon.pas und XD_FakeHDR.pas und dazu auch passende Demos.
Ich habe mal die Screenshot Section auf vordermann gebracht http://linuxprofessionals.org/xdream/?link=screenshot.

Ich werde als nächstes die GUI erneuern und erweitern. Hierbei wird der Code auf reinen OO umgestellt und um die restlichen Elemente erweitert, die von GTK bekannt sind. Es wird noch ein parser hinzukommen um GTK Themes ordentlich lesen zu können.

MfG TAK2004

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Zuletzt geändert von TAK2004 am Di Aug 29, 2006 11:43, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Apr 09, 2006 18:47 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Nun gibs mal wieder News zum Projekt.
Ich hab ein Studium "Angewandte Informatik" an der FHTW begonnen und hoffe Wissen aus dieser Ausbildung in X-Dream einbringen zu können.
Es gab wieder ein paar fixes im Code bezüglich Delphi und Freepascal.
Wir haben uns entschieden libxmlParser ins Projekt zu includieren und haben auch noch einige fixes im Code für stabilität.
Aktuell arbeite ich an einer Unit namens XD_Data, dies ist die realisierung vom folgendem thread DGL Meshformat. Hierzu ein kleines Shot was ich vorhin gemacht hab click me.
Ich habe XD_Data zum laden des Raumes genommen und Fake_HDR um den Himel der durch die Latten sichtbar ist die umgebung mehr erleuchten.
Frase arbeitet momentan an eine funktion die erlaubt viele texturen platzsparend in eine große zu packen und somit zeit beim texturwechsel zu sparen. Einsatzzwecke sind z.B. Lightmapping und Animation Texture. Des weiteren arbeitet er an einem Lightmap Baker.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 21, 2006 00:55 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1944
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Mal wieder ein kleines aber feines Update, was es in sich hat.
Weiß gar nicht, wo ich anfangen soll, aber ok ;)
Zuerst mal, ja mittlerweile ist tatsächlich eine Funktion im Texturmanager implementiert, die mehrere kleine Texturen in wenigen großen ablegt. Performance-Tests in dieser Richtung gibts noch keine, man kann jedoch tatsächlich einen Gewinn erwarten. Besonders, wenn die Texturen in den großen Container-Texturen in der Reihenfolge abgelegt werden, wie sie gebunden werden. Das wird ja bereits durch den Manager ermöglicht.
Daneben hat X-Dream nun auch die Möglichkeit automatisch die verfügbaren DLLs auf dem System zu überprüfen, die für die Engine relevant sind. Dabei wird erstmal geschaut, welche libs denn da sind und welche Version diese haben. Bei Bedarf werden dann automatisch aktuelle libs aus dem Internet nachgeladen, sodass man Bugs, die durch alte Bibliotheken entstehen, ausschließen kann. imho verdammt praktisch ;)

TAK2004 bastelt aktuell gerade am Skriptsystem und sorgt dafür, dass man die ganzen Klassen und Manager und sonstwas alle in lua ansprechen kann. Auch recht praktisch für die GUI z.B. ;)

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 22, 2006 14:24 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Wie Frase schon angesprochen hat, arbeite ich momentan an einer Scriptlösung für X-Dream.
Der Sinn ist folgender.
Da bei größeren Projekten nicht nur Programmierer sitzen sondern, vieleicht auch Grafiker oder Modeler.
Kann dieser ohne Programmierkentnisse und ohne das wissen der X-Dream Strukturen trotzdem ein Menü oder ähnliches bauen und ausprobieren.
Da Scriptsprache sehr simpel in der Handhabung sind,kann man diese in wenigen minuten lernen.
Lua schätze ich für jemanden der sowas nicht kennt so bei 15-20min ein und er kann mit Hilfe der X-Dream Script Doku Scripte schreiben.
Personen mit Programmiererfahrungen werden in 5min alles nötige Wissen was man braucht.
Ein weiter Vorteil ist, dass man nicht neucompilieren muss um etwas zu testen und man viele Dinge realisieren kann ohne einmal richtigen code zu schreiben. Momentan probiere ich mich noch aus und suche ein effektiven weg, zur implementierung aller wichtigen Befehle in Lua.

Hier mal ein aktuelles Beispiel.
Code:
  1. function MBtnDown()
  2.   Exit()
  3.   return 0
  4. end;
  5.  
  6. function create_gui()
  7.   Window=GUI.AddWindow()
  8.   GUI.ChangeWindowTitle(Window,'blupp')
  9.   GUI.ChangeWidgetPosition(Window,10,10)
  10.  
  11.   ProgessBar=GUI.AddProgressBar(Window)
  12.   GUI.ChangeWidgetPosition(ProgessBar,10,5)
  13.  
  14.   CheckBox=GUI.AddCheckBox(Window)
  15.   GUI.ChangeWidgetPosition(CheckBox,10,40)
  16.  
  17.   StatusBar=GUI.AddStatusBar(Window)
  18.  
  19.   Label=GUI.AddLabel(Window)
  20.   GUI.ChangeWidgetPosition(Label,10,80)
  21.  
  22.   Button=GUI.AddButton(Window)
  23.   GUI.ChangeButtonTitle(Button,'exit')
  24.   GUI.ChangeWidgetPosition(Button,128,64)
  25.   GUI.AddMDownEvent(Button,'MBtnDown');
  26.  
  27.   form1={}
  28.   form1[Window]=Window
  29.   form1[ProgessBar]=ProgessBar
  30.   form1[CheckBox]=CheckBox
  31.   form1[StatusBar]=StatusBar
  32.   form1[Label]=Label
  33.   form1[Button]=Button
  34.   return 0
  35. end;
  36.  
  37. function draw()
  38.   i=i+5*GetFrameTime()
  39.   if i>100 then i=0 end
  40.   GUI.ChangeProgressBarValue(form1[ProgessBar],i)
  41.   return 0
  42. end;
  43.  
  44. function main()
  45.   create_gui()
  46.   FontManAddStyleColor(255,255,255)
  47.   FontManAddStyleColor(255,0,0)
  48.   GUI.ChangeWidgetPosition(form1[Window],50,50)
  49.   i=0
  50.   DrawScript("draw")
  51.   return 0
  52. end;


Raus kommt dann folgendes.
Bild

Wichtig ist hier nur das das script beim start einmal interpretiert wird und dann main aufruft.
In Main hab ich dann eine funktion Draw als zeichenroutine angegeben.
Wenn also nun ein Renderdurchgang fast beendet ist wird diese funktion aufgerufen und ändert jeden Frame den Wert der ProgressBar.
Beim erstellen der GUI Elemente hab ich noch ein Event OnMouseBtnDown mit MbtnDown zugewiesen und dies wird dann aufgerufen wenn der ExitBtn gedrückt wird. In der Funktion wird wiederum die Exit Funktion aufgerufen die das Programm anweist sich zu beenden.

Geplant ist noch das Laden der GUIdaten aus einer XML file, so das viel Zeit gespart wird und der Code kleiner wird.
Ich will mich auch nochmal mit RTTI beschäftigen um zu ermöglichen, dass automatisch alle published funktionen und variablen aus dem Freepascal/Delphi Code in Lua gebunden werden.
Momentan verbrate ich recht viele Zeilen(5-36Zeilen pro funktion) um die momentanen funktionen zur verfügung zu stellen und es kostet einiges an Zeit.

Wer jetzt überlegt wie es mit der Performance aussieht kann ich nur sagen, Siedler,Painkiller,Farcry und Unreal3 lösen es auch so nur das Unreal3 ne eigene Scriptsprache statt Lua nutzt. Im Bereich GUI nutzten Homeworld2 und World of Warcraft ebenfalls Lua, um somit dem user ein sehr flexible Bedieneroberfläche zu geben.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Zuletzt geändert von TAK2004 am Di Aug 29, 2006 11:42, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Apr 30, 2006 11:39 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Heute haue ich mal wieder ein paar News raus.
Wir werkeln momentan stark am existierenden Code, wir verbessern und fixen diesen.
Es gibt ein neuen Performancemonitor,es wird an ein Materialeditor gearbeitet und Shader funktionieren unter Windows und Linux(hab eine erweiterung für den dglOpenGL header geschrieben).
Ich arbeite sehr intensive an der GUI und dessen Scriptanbindung.
Letzte Woche habe ich ein Wiki eingerichtet aber noch nicht in die Seite eingebunden.
Das Wiki wird die Script API, Hintergrundwissen zu X-Dream und einiges rund um X-Dream enthalten.
Im Wiki ist auch die pasdoc für den Projektcode enthalten, wobei die ziemlich leer ist :roll: aber hierzu muss man sagen, dass uns die nötige Arbeitszeit und Leute fehlen. Man kann nicht mit 2 Personen eine so umfangreiche Engine programmieren, dokumentieren, warten und dann noch ein Reallife haben.
Soll aber nicht bedeuten das ich es nicht probiere :lol:.
Wer mal sich einen Überblick über den Codeumfang verschaffen will oder mal sehen will wie es mit der ScriptAPI aussieht, poste ich mal den link ins wiki.
http://linuxprofessionals.org/xdream/wiki/index.php/Hauptseite


Da Worte nie so viel sagen können wie Bilder hier ne tolle Bildstreck :mrgreen:.
Bild
Hier sehen wir ein Screenshot vom zukünftigen Material Editor, dieses Shot zeigt die einzelnen Elemente mit den man ein Material zusammen klickt.


Bild
Bild
Hier ist der neue Performancemonitor, er ist besser, schneller, stylischer, aussage kräftiger und wesentlich mächtiger als der vorige.
Momentan auch noch unwesentlich langsamer ^^, dies liegt daran das die Darstellung selber noch nicht optimiert ist und im verlgeich zum vorigen im Vollbild läuft und somit stärker an der Füllrate zieht.


Zum vergleich der alte der nur die FPS darstellten konnte.
Bild
Der neue Perfmon kann mit zusammenarbeit von dem SysInfo Modul ein überaus mächtiges Werkzeug werden.
So könnte man z.B. Ramauslastung, CPU geschwindigkeit, Zeit der einzelnen Teile des Code messen und in vergleich stellen oder einfach die FPS ausgeben ^^.


Bild
Dieses Shot hab ich gestern gemacht, da hab ich das momentan noch in Beta befindliche XDData(XML based reader/writer),FakeHDR und Shader Module verbunden. Das Resultat ist ein Raum, wo durch die Latten an der Decke das licht durchscheint und umggebene Flächen sanft überleuchtet.
Der Affe(Blender nutzer kennen ihn :wink:) wird durch den gleichen Prozess als grüne Lichtquelle gesehen und überleuchtet.
Ein Cube an der Decke, der zwischen Latten und Kamera liegt, besitzt ein Refraktionsshader.
Da alle Objekte einen Namen haben, kann man über diese sehr einfach spezielle Dinge machen. Wie z.B. der leuchtende Affe oder der Lichtbrechende Cube.

MfG TAK2004

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Zuletzt geändert von TAK2004 am Di Aug 29, 2006 11:41, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 02, 2006 20:07 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1944
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Als kleines Schmankerl...

Der Texturmanager konnte ja bislang bereits Texturen laden, die nicht Power Of Two waren. Diese wurden bislang passend skaliert. Das ist zwar einfach, die Qualität leidet aber doch etwas darunter. Nun habe ich auch eine Möglichkeit eingebaut, solche Texturen nicht zu skalieren, sondern in eine neue Textur, mit der nächstgrößeren möglichen Power Of Two-Größe, reinzukopieren und dann die Texturkoordinaten anzupassen. Und was soll ich sagen... Das Ergebnis von der Aktion kann sich sehen lassen ;) Screenshots folgen bald, die alle Methoden im Vergleich zeigen.

€dit: Screenshot ist oben, Aya möge mir verzeihen ;)

Man sieht hier 3 mal die gleiche Textur. Links in dem neuen Modus ohne Qualitätsverlust, rechts daneben die gleiche Textur nur größer skaliert und ganz rechts kleiner skaliert.
Der Unterschied ist nur allzu deutlich ;)


Dateianhänge:
Dateikommentar: Ein Screenshot von X-Dream
screen.jpg
screen.jpg [ 103.55 KiB | 15437-mal betrachtet ]

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."
Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 07, 2006 13:14 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich nun mal wieder ein paar neue Infos für alle interessierten.
Ich hab Scissor in die GUI eingebaut und wieder ein paar neue Kompos gebaut.
Momentan entwickel ich noch eine Klasse die es erlaubt alle angegebenen methoden und properties automatisch in Lua einzutragen.
Mit Methoden bin ich so gut wie fertig und Property ist noch garnichts gemacht.
Es wird auch eine änderung von der implementierung in Lua geben.
Aktuell
Code:
  1. bla=GUI.AddButton()
  2. GUI.ChangWidgetPositio(bla,10,10)

Geplant
Code:
  1. bla=TXD_GUI_Widget_Button.Create()
  2. bla.Position(10,10)

Es wird auch aktuell an ein Theme Format und GUI Format gewerkelt um dann über XML eine GUI zu laden und sie mit eventuell eigenen Grafischen änderungen zu bestücken.

Das aktuellste Screenshot von der GUIdemo ist dieses.
Bild

Von mir noch geplante Widgets sind ListBox, Memo, DropDown,Tabsheets und RadioButton.

Ich hab noch die website überarbeitet und auch das nightbuild zu einem "alle 4h build" abgeändert.
Wiki ist nun eingebunden und hab die Installationsanleitung von X-Dream gelinkt.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Zuletzt geändert von TAK2004 am Di Aug 29, 2006 11:40, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mai 13, 2006 13:29 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Hi ho Leute.
X-Dream hat wieder ein paar fortschritte gemacht :)

Frase hat sein Tetrix schon spielbar gemacht, aufgrund von einem Problem mit dem Eventmanager und Delphi schmiert das Game ab aber unter FreePascal funtz es wunderbar. Meine wenigkeit wird versuchen dieses Problem so schnell wie möglich zu beseitigen.

I0n0s hat ein XML basiertes GUIformat entworfen und implementiert. Ein kleiner fix von meiner Seite und das einbinden in Lua macht es nun richtig easy GUIs in X-Dream zu machen. Einfach per GUI.LoadFromXMLFile('gui.xml') laden und dann kann man mit btn1=GUI.FindWidget('Button1') z.B. nach ein Widget mit der ID suchen und bekommt das Widget zurück. Nun kann man wie gewohnt das Element nutzen, um z.B. Events zuzuweisen.

Ich hab den Perfmon um einiges verbessert. Er ist schneller, hat mehr Settings, ist frei positionierbar und die Farben sind anpassbar.
Es gibt nun 4 Modies, unzwar FPS(nur FPS als Text), FPSGraph(FPS als Graph dargestellt), Time(FPSGraph+darstellung aller Timebased Indicator) und Value(FPSGraph+darstellung aller Valuebased Indicator).
Einige Teile der Engine kann man nun über globale default variablen mitladen lassen oder auch nicht.

Auf meiner Liste steht als nächste eine Unit, die alle gewollten Properties und Methoden von Klassen verwaltet und somit den zugrif für z.B. Lua und XML Parser auf die GUI Widgets erlaubt. Vorteil ist dann, man muss nicht mehr zig zeilen Code schreiben und bei jeder änderung zig zeilen code ändern. Ich will alle Manager auf Singleton Klassen umstellen, angefangen hab ich schon mit dem GUIManager.

I0n0s will sich mal mit dem FontManager mal auseinander setzen.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 02, 2006 15:19 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich hab die Website überarbeitet und auf Englisch umgestellt, mit Ausnahme von schon vorhandenen Material.
Wir haben nun version 0.1 ins svn repo gepackt und für die nächste version ein Schlachtplan erstellt.
Mit der Hilfe von I0n0s, Frase, AndyGFX und mir sowie gelegentlich Grizzly als menschlicher Debugger geht es mitlerweile recht zügig vorran und die Qualität des Codes hat sich auch gesteigert.

Was passiert so in der nächsten Zeit ?
I0n0s wird das Update von der GUI fertig stellen, AndyGFX wird das Kamera und control -system fertig stellen, Frase wird ein paar Bugfixes am Textur Manager machen und ich werde mich dem erst release von GLData und dem Update von SysInfo widtmen.

Unter http://linuxprofessionals.org/xdream/ findet ihr die aktuellen news mit 1-2 weiteren Infos

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Zuletzt geändert von TAK2004 am Di Aug 29, 2006 11:40, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jul 26, 2006 11:42 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich will mal wieder ein bischen was über X-Dream erzählen.
Wir steuern ja mitlerweile auf die nächste Version zu und so haben wir angefangen das Wiki nun mit Doku zu füllen.

Es werden noch ein paar neue Dinge mit der nächsten Version hinzu kommen, hier eine kleine Liste.
-XD-Data <-ja es ist kurz vor fertigstellung, der ersten release und lang hats gedauert
-SceneGraph <-für eine Performantere, bedienerfreundlichere und Übersichtlichere Anbindung an die engine
-LuaClass <-diese Klasse wird an neue Klasse vererbt und sind dann automatisch in Lua bekannt
-XD_VBO <-eine unit die das nutzen von VBO mit jeder nur erlaubten kombi möglich macht
-XD_Octree <-eine unit die das nutzen von Octree erlaubt unabhängig von welchen Daten vorliegen
-Netzwerk <-UDP basiert, nähere Infos werden folgen

Es wird eine überarbeitet GUI, Kamera, Performance Monitor, SysInfo und Font Modul geben.

Wir stellen momentan auf eine neue svn version um, da die alte auf unerklärlichen Gründen zusammen brach.
Deswegen ist das SVN für 1-2 Tage nicht erreichbar(neue version 1.3.2, alte 1.1.?).

Wann die nächste release Version erscheint ist nicht genau zu bestimmen aber das X-Dream Team gibt sich große mühe.

Um das ganze ein bischen auf zu lockern hier noch ein Screenshotreihe, was ich gestern gemacht hab.


Bild
Bild

In dem Screenie sieht man eine Umgebung von Blender nach X-Dream exportiert, mit Hilfe von XD_Data.
Die Umgebung wurde mit 2 Shadern und einem Bloom aufgewertet. Die Steuerung wird über die neue Kamera und dem damit verknüpften XD_Movement Modul realisiert. Gerendert wird alles in Bruteforce also nicht vor der FPS erschrecken.

Bild[/img]
Hier sieht man die GUI von X-Dream, welche über XML eingeflegt wurde.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Zuletzt geändert von TAK2004 am Di Aug 29, 2006 11:39, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Sonstiges » Projekte


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 17 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.087s | 19 Queries | GZIP : On ]