simpleOgre - Ogre3D für Blitz3D
Übersicht

![]() |
FarbfinsternisBetreff: simpleOgre - Ogre3D für Blitz3D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dieser Thread soll den Fortschritt von simpleOgre dokumentieren welches aus simple3D hervor gegangen ist welches noch auf Irrlicht basierte.
Frech wie ich bin kopiere ich zum Start ersmo nur den Link zum Worklog hier rein. Weitere Updates werden dann gleich behandelt. simpleOgre Worklog Der letzte Eintrag zum mit Ohne klicken Ich verlinke hier das Archiv, es sollte aber wirklich nur von Usern verwendet werden die nicht eben gerade Blitz3D von einem russischen Server gezogen haben! simpleOgre V0.1 (ca. 3,5MB) Enthalten sind:
Nochmal für die Legastheniker : Um dieses Päckchen schon jetzt auszuprobieren musst Du folgendes wissen und können:
Wenn Du obige Liste komplett knickst weil Du ein alter Hase bist, kannst Du Dich schon jetzt auf eine super Lib freuen denn simpleOgre hat zwei Zweige: 1. Zweig: Es gibt alles was Blitz3D kann + Echtzeit-Schatten 2. Zweig: Es gibt alles was Ogre kann, aber ein bisschen komplizierter und aufwändiger. |
||
Farbfinsternis.tv |
- Zuletzt bearbeitet von Farbfinsternis am Do, Apr 29, 2010 19:00, insgesamt einmal bearbeitet
![]() |
FarbfinsternisBetreff: V0.2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es hat sich wieder ein klein wenig getan...
Was geht...
Leider kann man Ogre-Programme noch immer nicht aus der IDE starten und ich habe keinen Anhaltspunkt woran das liegt. Aber zumindest konnte ich einige MemLeaks entfernen und das Ganze ein wenig ausbauen. ![]() Hier noch der Download Link für 0.2 simpleOgre 0.2 (ca. 5MB) Eine ausführbare Datei liegt bei. Es kann sein dass wegen einer DLL gemeckert wird, schreibt dann einfach hier rein welche das ist und ich lege sie bei. In Blitz3D sieht das Ganze dann so aus: BlitzBasic: [AUSKLAPPEN]
Alle "Create..." Funktionen geben ein Objekt vom Typ "Obj" zurück, wer versucht das wie im original Blitz3D als Integer zu handlen fällt auf die Nase! Es funktionieren nur die hier aufgelisteten Funktionen, Blitz3D ist mit seinen Grafikmöglichkeiten völlig aussen vor! |
||
Farbfinsternis.tv |
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Heute stand ein bisschen Bugfixing und Optimierung auf dem Plan, außerdem sind eine handvoll Funktionen dazugekommen.
Das Changelog (jetzt ganz frisch eingeführt): Zitat: V0.3 29.04.2010 hinzugefügt : WBuffer(enable%) hinzugefügt : Dither(enable%) hinzugefügt : AntiAlias(value%) hinzugefügt : WireFrame(cam.Obj, enable%) hinzugefügt : HWMultiTex(enable%) hinzugefügt : CameraProjMode(cam.Obj, mode%) hinzugefügt : CameraRange(cam.Obj, near#, far#) hinzugefügt : DebugLog(message$) V0.2 28.04.2010 hinzugefügt : Graphics3D() hinzugefügt : EndGraphics3D() hinzugefügt : RenderWorld() hinzugefügt : CreateCamera() hinzugefügt : CameraClsColor() hinzugefügt : PositionEntity() hinzugefügt : MoveEntity() hinzugefügt : TurnEntity() hinzugefügt : CreateLight() hinzugefügt : LightColor() hinzugefügt : AmbientLight() hinzugefügt : LoadMesh() hinzugefügt : KeyDown() hinzugefügt : KeyHit() Ein paar Bemerkungen zu den Funktionen: Dither() Soetwas gibt es im Jahr 2010 nicht mehr und in Ogre schon garnicht. Wer meint er müsse mit 16Bit Screens hantieren sollte von modernen 3D Engines die Finger lassen. Ich habe die Funktion dennoch überschrieben damit der YAN sich nicht über Fehlermeldungen wundert. Das werde ich übrigens mit allen Blitz3D Funktionen tun die in Ogre keine Funktion mehr haben. AntiAlias() Im Gegensatz zu Blitz3D gibt man hier nicht an ob man FSAA nutzen will oder nicht, sondern wie stark das FSAA eingesetzt werden soll (0, 2, 4, 8 etc.). Hierbei ist zu beachten dass das nicht zur Laufzeit umgesetzt wird sondern erst nach dem nächsten Start der App zur Verfügung steht HWMultiTex() Siehe Dither() CameraProjMode() Funktioniert schon, sieht aber noch nicht so aus wie in Blitz3D und die Mode 0 existiert nicht. Dass es nicht so aussieht wie in Blitz3D liegt nicht daran dass der orthographische Modus nicht orthographisch ist, sondern daran dass Mark da ein bisschen getrickst hat damit der User nach dem Umschalten die Scene im Selben Zoom sieht wie in der Perspektive. Das tweake ich aber noch damit das mit Ogre genauso funktioniert. Mode 0 ist mir nicht ganz geheuer. In Blitz3D ist es die schnellere Möglichkeit eine Camera zu "verstecken", in Ogre ist "Kamera verstecken" immer schnell. Wahrscheinlich werde ich bei Mode 0 einfach HideEntity() aufrufen ... mal gucken. DebugLog() Da simpleOgre noch immer nicht aus der IDE gestartet werden kann (warum auch immer, ich habe keinen blassen Schimmer) habe ich DebugLog() überschrieben. Die Funktion schreibt seine Ausgaben in die datei "s3d.log" Jetzt noch der Code des aktuellen Examples und danach der Download-Link für die V0.3 (ein Executable liegt bei) BlitzBasic: [AUSKLAPPEN]
>> Download simpleOgre 0.3 (ca. 5,5MB) << |
||
Farbfinsternis.tv |
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
Habe es gerade mal probiert, auch die Exe kann ich nciht ausführen, er meldet, dass er die DX9....dll nicht finden konnte | ||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
skey-z hat Folgendes geschrieben: Habe es gerade mal probiert, auch die Exe kann ich nciht ausführen, er meldet, dass er die DX9....dll nicht finden konnte
Das hatte ich erwartet ... hier ein Päckchen mit den zwei fehlenden DLLs: https://www.blitzforum.de/upload/file.php?id=8453 |
||
Farbfinsternis.tv |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Cool!
Gibt zurzeit ja ein paar Leute die versuchen B3D DX9/OGL zu ermöglichen, find ich gut ![]() Weiter so ! (getestet unter siehe sig @home) mfg ozzi |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der Versuch den Ogre-generierten Kontext ins Blitz3D Fenster zu zwingen ist grandios ins Wasser gefallen, spielt aber auch keine Rolle da es eh nicht so auf meiner Linie lag, schließlich soll nach Blitz3D auch noch BlitzMax mit Ogre versorgt werden.
Nebenbei hatte ich noch versucht Ogre statisch zu linken ... das hat auch funktioniert aber ich verfolge das nicht weiter weil es zuviele Nachteile mit sich bringt. Beispielsweise muss man sich dann schon beim erstellen der DLL für DX oder OGL entscheiden, welchen Scene-Type man bevorzugt (Indoor, Outdoor, weites Gelände, extra große Aussenwelten etc.). So bleibe ich halt bei den DLLs was ja auch nicht so schlimm ist. Wer (z.B.) BSP nicht benötigt nimmt es aus der CFG und schmeisst es aus dem Plugins Ordner und gut ist. Ohnehin habe ich mich schon weitestgehend von der Idee getrennt Ogre3D irgendwie in das Korsett eines Blitz3D pressen zu müssen. Heute habe ich das Projekt auf Visual C++ 2010 Express und die letzte Ogre3D Version 1.7.1 umgestellt. Dabei habe ich auch den Code ein wenig umgebastelt. Der Krimskram heißt nun BlitzOgre3D (denn simple geht anders) und schleift einiges mehr an Komplexität nach Blitz3D durch. Ich dachte mir dass es nicht notwendig ist zwei Zweige zu fahren wenn man einen komplexeren Zeig einfach direkt in Blitz3D wrapped wo es ohnehin unerlässlich ist ein Include zu verwenden. Aus der originalen Blitz3D IDE kann man noch immer kein Ogre-Projekt starten, das scheint aber an der Art und Weise zu liegen wie Blitz3D seine temporären Executables behandelt (und vor Allem: wo es sie ablegt). Es gibt zwei Möglichkeiten Ogre3D in Blitz3D zu testen: 1. mit der originalen IDE ein Executable erzeugen und dann dieses testen 2. IDEal verwenden und dort direkt "Compile'n'Run" auswählen können Die Altlasten bei Graphics3D und bei dem von dort aufgerufene "Init" sind noch vorhanden, werden aber bald eleminiert. In Zukunft erzeugt Graphics3D eine CFG bevor es Ogre3D initialisiert damit das OgreConfigTool nicht angezeigt werden muss. Da Ogre3D mit Szenen arbeitet gibt es eine kleine Veränderung. Man kann eine neue Scene mit "CreateScene%(scene_name$)" erzeugen. Alle Entities verlangen jetzt bei der Erzeugung den optionalen Parameter "scene". Lässt man den Parameter weg wird die DefaultScene verwendet die ohnehin beim initialisieren der Engine erzeugt wird. |
||
chi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Läuft momentan alles prima ![]() |
||
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mir wurde befohlen mich für Projekt-Thread oder Worklog zu entscheiden, ich habe letzteres gewählt. Neuigkeiten also nur noch im BlitzOgre3D Worklog. | ||
Farbfinsternis.tv |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group