MiniB3D Extended FIX
Nach langem Schweigen....
Samstag, 17. Juli 2010 von Skabus
...folgt munteres Plaudern
Mitlerweile ist einiges passiert und damit ihr nicht denkt, es läuft nichts, schreib ich
heut nur mal kurz auf, was in der letzten Zeit passiert ist.
Zunächst habe ich das Frustum Culling von minB3D überarbeitet, was zur Folge hat, dass nun
3 statt ursprünglich nur einer Art von Culling zur Verfügung stehen.
Möglich sind nun die 3 bekannten Fälle:
Punkt im Frustum( PointInView(..))
Ellipsoid im View Frustum( EntityInView(...))
Box im View Frustum( EntityInView(...))
Letzteres kann übrigens manuell eingestellt werden.Ebenso unterstützt die neue Methode weiterhin
manuelle Culling über selbtdefinierte Cuilling-Radien.
Ich möchte hier Goodjee und mpmxyz, sowie meinem Studienkollegen danken, dass sie mir beim
Verstehen und Implementieren tatkräftig zur Seiten standen^^
Natürlich arbeite ich auch am Terrain Renderer weiter.Eine erste Version des LOD-Algorithmuses ist
bereits drin aber noch lange nicht final.
Ebenso stehen natürlich Datenstruktur und dergleichen.
Ich hab mir wie bereits gesagt alle Mühe gegeben die vielfältigen Möglichkeiten einer "neuen" Terrain-Engine und den Komfort des einprägsamen Blitz3D-Systems zu kombinieren, sodass am Ende alles
so funktioniert wie es in Blitz3D funktioniert hat.
Die Macher von miniB3D und extended haben da ja bissher stehts saubere Arbeit geleistet^^
Wie gehts weiter?
Nachdem ich am Montag endlich meine letze Prüfung schreibe, kann ich mich danach endlich mal wieder intensiv miniB3D widmen, somit wirds dann auch wieder eine neue Version geben.
Aktuell ist alles noch zu stark ungetestet und ich werf nichts raus, wenns noch nicht
hinreichend meinen Ansprüchen genügt.
Der Terrain Renderer wird nun einen neuen Triangulierungsalgorithmus bekommen, damit Cracks vermieden werden, danach wird der LOD-Algorithmus weiter ausgebaut und verbessert, anschließend
wird Texturing und Shading in Angriff genommen.Zuletzt wird dann noch TerrainPicking und
die Einbettung in das bekannte Kollisionssystem von Blitz3D vorgenommen.Falls das nicht
schon geschehen ist.
Eins noch:
Ich hoffe doch die Loader die ich implementiert und verbessert habe funktionieren alle tadellos
und ihr habt, falls ihr sie benutzt, einen Nutzen davon.Falls was nicht stimmt, haut mich an^^
Danke für euer Interesse
Bis zum nächsten Mal,
MfG Ska
Mitlerweile ist einiges passiert und damit ihr nicht denkt, es läuft nichts, schreib ich
heut nur mal kurz auf, was in der letzten Zeit passiert ist.
Zunächst habe ich das Frustum Culling von minB3D überarbeitet, was zur Folge hat, dass nun
3 statt ursprünglich nur einer Art von Culling zur Verfügung stehen.
Möglich sind nun die 3 bekannten Fälle:
Punkt im Frustum( PointInView(..))
Ellipsoid im View Frustum( EntityInView(...))
Box im View Frustum( EntityInView(...))
Letzteres kann übrigens manuell eingestellt werden.Ebenso unterstützt die neue Methode weiterhin
manuelle Culling über selbtdefinierte Cuilling-Radien.
Ich möchte hier Goodjee und mpmxyz, sowie meinem Studienkollegen danken, dass sie mir beim
Verstehen und Implementieren tatkräftig zur Seiten standen^^
Natürlich arbeite ich auch am Terrain Renderer weiter.Eine erste Version des LOD-Algorithmuses ist
bereits drin aber noch lange nicht final.
Ebenso stehen natürlich Datenstruktur und dergleichen.
Ich hab mir wie bereits gesagt alle Mühe gegeben die vielfältigen Möglichkeiten einer "neuen" Terrain-Engine und den Komfort des einprägsamen Blitz3D-Systems zu kombinieren, sodass am Ende alles
so funktioniert wie es in Blitz3D funktioniert hat.
Die Macher von miniB3D und extended haben da ja bissher stehts saubere Arbeit geleistet^^
Wie gehts weiter?
Nachdem ich am Montag endlich meine letze Prüfung schreibe, kann ich mich danach endlich mal wieder intensiv miniB3D widmen, somit wirds dann auch wieder eine neue Version geben.
Aktuell ist alles noch zu stark ungetestet und ich werf nichts raus, wenns noch nicht
hinreichend meinen Ansprüchen genügt.
Der Terrain Renderer wird nun einen neuen Triangulierungsalgorithmus bekommen, damit Cracks vermieden werden, danach wird der LOD-Algorithmus weiter ausgebaut und verbessert, anschließend
wird Texturing und Shading in Angriff genommen.Zuletzt wird dann noch TerrainPicking und
die Einbettung in das bekannte Kollisionssystem von Blitz3D vorgenommen.Falls das nicht
schon geschehen ist.
Eins noch:
Ich hoffe doch die Loader die ich implementiert und verbessert habe funktionieren alle tadellos
und ihr habt, falls ihr sie benutzt, einen Nutzen davon.Falls was nicht stimmt, haut mich an^^
Danke für euer Interesse
Bis zum nächsten Mal,
MfG Ska
Noch mal ein paar Kleinigkeiten...
Montag, 7. Juni 2010 von Skabus
Hallo Worklogleser,
Ich hab momentan ein riesen Stress, da ich 2 Projekte innerhalb der nächsten 2 Wochen aufziehen muss und so ganz nebenbei muss ich auch noch Uniaufgaben und Prüfungsvorbereitung organisieren...
Kein Wunder das da nicht viel Zeit für neue Versionen ist.Allerdings hab ich noch ein paar Kleinigkeiten
bereinigt, die mir im Nachhinein erst aufgefallen ist.
Und damit ich nicht alles doppelt schreiben muss verweise ich einfach auf meinen Changelog:
Code: [AUSKLAPPEN]
---->Ver0.31: Fixed PositionEntity-bug, caused by the new entity child_list implementation
---->Ver0.31: Fixed B3D FindChild-bug, previous versions do NOT support it!
---->Ver0.31: Changed FindChild-Funktion(old version causes bugs with B3D!)
---->Ver0.31: Improved 3DSLoader(new funktionalities caused problems)
(Ich frag mich warum ich das in englisch schreibe, wenn der Rest eh auf deutsch ist...hm vllt. solls ja professioneller wirken als es ist xD)
Hier ist die momentane Version(diesmal ohne Samples, sind keine neuen hinzugekommen^^):
DOWNLOAD
Ich hab mit klepto2 mal ein Schwätzchen gehalten und muss mich als nächstes WIRKLICH um das Highmap-Terrain kümmern, welches laut klepto2 nicht einsatzfähig ist.
Da ich das für mein Projekt unbedingt brauche, wird das dass nächste sein.
Freut euch also auf miniB3D Terrain 2.0 beim nächsten Mal...
An dieser Stelle noch ein kleiner Aufruf:
In der ReadMe stehen 2 Anmerkungen, wenn ihr was dazu wisst/Lust und Können habt mir da zu helfen,
dann schreibt mich an, oder hinterlasst hier eine Nachricht^^
Und nochwas anderes:
Selbst auf blitzbasic.com findet sich kein vernünftiger Highmap-Terrain-Code sodass ich das ganz aus anderen Sprachen und Engines erlernen muss.Falls ihr aber ne _gute_ BlitzMax-Implementation kennt,
schreibt mir ebenfalls...
Bis zum nächsten Mal,
MfG Ska
Ich hab momentan ein riesen Stress, da ich 2 Projekte innerhalb der nächsten 2 Wochen aufziehen muss und so ganz nebenbei muss ich auch noch Uniaufgaben und Prüfungsvorbereitung organisieren...
Kein Wunder das da nicht viel Zeit für neue Versionen ist.Allerdings hab ich noch ein paar Kleinigkeiten
bereinigt, die mir im Nachhinein erst aufgefallen ist.
Und damit ich nicht alles doppelt schreiben muss verweise ich einfach auf meinen Changelog:
Code: [AUSKLAPPEN]
---->Ver0.31: Fixed PositionEntity-bug, caused by the new entity child_list implementation
---->Ver0.31: Fixed B3D FindChild-bug, previous versions do NOT support it!
---->Ver0.31: Changed FindChild-Funktion(old version causes bugs with B3D!)
---->Ver0.31: Improved 3DSLoader(new funktionalities caused problems)
(Ich frag mich warum ich das in englisch schreibe, wenn der Rest eh auf deutsch ist...hm vllt. solls ja professioneller wirken als es ist xD)
Hier ist die momentane Version(diesmal ohne Samples, sind keine neuen hinzugekommen^^):
DOWNLOAD
Ich hab mit klepto2 mal ein Schwätzchen gehalten und muss mich als nächstes WIRKLICH um das Highmap-Terrain kümmern, welches laut klepto2 nicht einsatzfähig ist.
Da ich das für mein Projekt unbedingt brauche, wird das dass nächste sein.
Freut euch also auf miniB3D Terrain 2.0 beim nächsten Mal...
An dieser Stelle noch ein kleiner Aufruf:
In der ReadMe stehen 2 Anmerkungen, wenn ihr was dazu wisst/Lust und Können habt mir da zu helfen,
dann schreibt mich an, oder hinterlasst hier eine Nachricht^^
Und nochwas anderes:
Selbst auf blitzbasic.com findet sich kein vernünftiger Highmap-Terrain-Code sodass ich das ganz aus anderen Sprachen und Engines erlernen muss.Falls ihr aber ne _gute_ BlitzMax-Implementation kennt,
schreibt mir ebenfalls...
Bis zum nächsten Mal,
MfG Ska
Und nochmal XD
Montag, 31. Mai 2010 von Skabus
Jaja ich spamme meinen eigenen Worklog voll, ich weiß^^
Aber es muss eben sein...hab jetzt das Animationsproblem isoliert und prompt ne Lösung gefunden.
Das kommt bei mir auch nicht oft vor XD
Also, somit sind T3DSLoader und B3DLoader nun vollkommen funktionsfähig.
Das nächste Update wirds aber erst geben, wenn ich was finde was nicht funktioniert, oder
wenn mir irgendeine B3D-Funktion fehlt^^
Falls jemand noch Ideen hat, was in miniB3D fehlt oder nen Fehler kennt, und ich ne Ahnung hab wie ichs implementieren soll: Der Kommentarkasten ist euer Freund^^
Hier die aktuelle Version 0.3:
DOWNLOAD (ohne samples)
DOWNLOAD
EDIT: Kleine Vorschau noch auf neue Versionen: Scheinbar hat klepto keine Möglichkeiten eingebaut, TerrainShading einzustellen, das werd ich dann wohl selber machen müssen ^^
MfG Ska
Aber es muss eben sein...hab jetzt das Animationsproblem isoliert und prompt ne Lösung gefunden.
Das kommt bei mir auch nicht oft vor XD
Also, somit sind T3DSLoader und B3DLoader nun vollkommen funktionsfähig.
Das nächste Update wirds aber erst geben, wenn ich was finde was nicht funktioniert, oder
wenn mir irgendeine B3D-Funktion fehlt^^
Falls jemand noch Ideen hat, was in miniB3D fehlt oder nen Fehler kennt, und ich ne Ahnung hab wie ichs implementieren soll: Der Kommentarkasten ist euer Freund^^
Hier die aktuelle Version 0.3:
DOWNLOAD (ohne samples)
DOWNLOAD
EDIT: Kleine Vorschau noch auf neue Versionen: Scheinbar hat klepto keine Möglichkeiten eingebaut, TerrainShading einzustellen, das werd ich dann wohl selber machen müssen ^^
MfG Ska
B3D Loader funktioniert nun
Montag, 31. Mai 2010 von Skabus
Tja das hab ich auch noch net geschafft.
2 Worklogs an einem Tag XD
Also ich hab eben den B3D Loader repariert, da der aus mir unverständlichen Gründen an irgendeiner Stelle in einer B3D-Datei abgestürzt ist.
Nun funktioniert alles tadellos...naja sagen wir FAST tadellos...Animationen werden bereits korrekt ausgelesen und mit dem Abspielen hapert es....
Ich hoffe dass ich das heute noch fertig kriege, wenn ich von der Uni wiederkomme, aber ich versprech natürlich nix^^
Appropos nix, ohne Pics saug ich nix:
Und hier die Downloads, wahlweise mit samples(13 MB) oder ohne(700 KB):
DOWNLOAD(ohne samples)
DOWNLOAD
Ich sag auch nochmal was zur Lösung, damit keiner denkt ich schmücke mich mit fremden Loorbeeren, aber das sag ich sobald die Animationen funktionieren^^
Bis zum nächsten Mal!
MfG Ska
2 Worklogs an einem Tag XD
Also ich hab eben den B3D Loader repariert, da der aus mir unverständlichen Gründen an irgendeiner Stelle in einer B3D-Datei abgestürzt ist.
Nun funktioniert alles tadellos...naja sagen wir FAST tadellos...Animationen werden bereits korrekt ausgelesen und mit dem Abspielen hapert es....
Ich hoffe dass ich das heute noch fertig kriege, wenn ich von der Uni wiederkomme, aber ich versprech natürlich nix^^
Appropos nix, ohne Pics saug ich nix:
Und hier die Downloads, wahlweise mit samples(13 MB) oder ohne(700 KB):
DOWNLOAD(ohne samples)
DOWNLOAD
Ich sag auch nochmal was zur Lösung, damit keiner denkt ich schmücke mich mit fremden Loorbeeren, aber das sag ich sobald die Animationen funktionieren^^
Bis zum nächsten Mal!
MfG Ska
Grundsätzliches,T3DSLoader und FindChild
Montag, 31. Mai 2010 von Skabus
Hier der erste FIX, welcher einen Fehler mit FindChild behebt.
Ich habe stundenlang dumm in die Röhre gekuckt, da die Childs meines Modells nicht gefunden wurden.
Diese lagen lediglich als einzelne Objekte im Mesh vor, also Beispiel: Block1 Block2 Block2.
Normalerweise konnte man in B3D diese einzelnen Meshes die in der Schale des gesamten Objektes
erhalten sind, per FindChild finden.
In miniB3D ging das nicht.Es war zwar möglich an ein Entity einen Child ranzusetzen, sie also manuell im Code festzulegen.Das ist natürlich nicht verkehrt, will man aber z.B. Teile des Meshes neutexturen, man denke z.B. an ein Strategiespiel in dem man die Farbmarkierungen oder die Rüstungstextur einer Einheit ändern will, so geht das nicht in dem man einfach schreibt
Code: [AUSKLAPPEN]
Die gute Nachricht ist aber, zumindest für den T3DSLoader habe ich dieses Problem gelöst, in dem
intern die einzelnen Teile nur als "eigenständiges" Mesh ausgelesen wird und diese dann zusammen
an ein Mesh gebunden werden.
Das Ergebnis ist das selbe wie sonst auch, nur das man FindChild nun wirklich benutzen kann!
Lange Rede kurzer Sinn, diesen Fix konntet ihr ja bereits runterladen.
Allerdings gabs noch einige Fehler, auf die mich nur keiner aufmerksam gemacht hat XD
Daher gibts den neuen FIX im nächsten Worklog-Eintrag!
MfG Ska
Ich habe stundenlang dumm in die Röhre gekuckt, da die Childs meines Modells nicht gefunden wurden.
Diese lagen lediglich als einzelne Objekte im Mesh vor, also Beispiel: Block1 Block2 Block2.
Normalerweise konnte man in B3D diese einzelnen Meshes die in der Schale des gesamten Objektes
erhalten sind, per FindChild finden.
In miniB3D ging das nicht.Es war zwar möglich an ein Entity einen Child ranzusetzen, sie also manuell im Code festzulegen.Das ist natürlich nicht verkehrt, will man aber z.B. Teile des Meshes neutexturen, man denke z.B. an ein Strategiespiel in dem man die Farbmarkierungen oder die Rüstungstextur einer Einheit ändern will, so geht das nicht in dem man einfach schreibt
Code: [AUSKLAPPEN]
EntityTexture FindChild(model,"farbmakierung"),newTexture
Die gute Nachricht ist aber, zumindest für den T3DSLoader habe ich dieses Problem gelöst, in dem
intern die einzelnen Teile nur als "eigenständiges" Mesh ausgelesen wird und diese dann zusammen
an ein Mesh gebunden werden.
Das Ergebnis ist das selbe wie sonst auch, nur das man FindChild nun wirklich benutzen kann!
Lange Rede kurzer Sinn, diesen Fix konntet ihr ja bereits runterladen.
Allerdings gabs noch einige Fehler, auf die mich nur keiner aufmerksam gemacht hat XD
Daher gibts den neuen FIX im nächsten Worklog-Eintrag!
MfG Ska
Ich hab mich doch getraut^^
Montag, 31. Mai 2010 von Skabus
Hallo,
vielleicht haben es einige schon mitbekommen, aber für die die es noch nicht gesehen/gehört haben:
Ich arbeite seit einer Woche mit miniB3D extended und ich muss sagen, trotz dass dort viele gute Dinge
eingebaut wurden, funktioniert einiges überhaupt nicht, oder nur sehr schwächlich, teilweise gibts Totalausfälle(korrigiert mich wenn ich falsch liege), Abstürze etc.
Da ich miniB3D extended gerne verwenden möchte, es aber manigfaltige Probleme gibt, habe ich mich, auch
wenn ich hin und herüberlegt hab ob ich mich an sowas rantraue, entschlossen Fehler in MiniB3D zu fixen und evtl. neue Funktionalitäten einzubauen!
Falls jemand sich berufen fühlt mir dabei zu helfen: Ich kann Hilfe gebrauchen!
Vielleicht hat ja noch jemand anderes Interesse daran miniB3D extended zu verbessern.
Rechtliches:
Ich habe mich auf den Seiten von klepto umgesehen und auch im Code selber steht "use this code as you like", was für mich heißt ich kann damit machen was ich will.
Sollte ich dabei gegen irgendwelche Regeln/Urheberrechte verstoßen, bin ich jederzeit erreichbar.
Ich geh davon aus, dass miniB3D extended open source ist und ich im Code rumfuschen kann wie
es mir gefällt!
Ansonsten nun viel Spaß bei den hoffentlichen Fortschritten des miniB3D extended Fix!
MfG Ska
vielleicht haben es einige schon mitbekommen, aber für die die es noch nicht gesehen/gehört haben:
Ich arbeite seit einer Woche mit miniB3D extended und ich muss sagen, trotz dass dort viele gute Dinge
eingebaut wurden, funktioniert einiges überhaupt nicht, oder nur sehr schwächlich, teilweise gibts Totalausfälle(korrigiert mich wenn ich falsch liege), Abstürze etc.
Da ich miniB3D extended gerne verwenden möchte, es aber manigfaltige Probleme gibt, habe ich mich, auch
wenn ich hin und herüberlegt hab ob ich mich an sowas rantraue, entschlossen Fehler in MiniB3D zu fixen und evtl. neue Funktionalitäten einzubauen!
Falls jemand sich berufen fühlt mir dabei zu helfen: Ich kann Hilfe gebrauchen!
Vielleicht hat ja noch jemand anderes Interesse daran miniB3D extended zu verbessern.
Rechtliches:
Ich habe mich auf den Seiten von klepto umgesehen und auch im Code selber steht "use this code as you like", was für mich heißt ich kann damit machen was ich will.
Sollte ich dabei gegen irgendwelche Regeln/Urheberrechte verstoßen, bin ich jederzeit erreichbar.
Ich geh davon aus, dass miniB3D extended open source ist und ich im Code rumfuschen kann wie
es mir gefällt!
Ansonsten nun viel Spaß bei den hoffentlichen Fortschritten des miniB3D extended Fix!
MfG Ska