Wie die meisten Webseiten nutzen wir Cookies. Nähere Informationen dazu, wie wir mit diesen Cookies umgehen, können Sie in unseren Datenschutzbestimmungen lesen.   Einverstanden
 
 

3D Forum > Curseye3DEngine - independent realtime 3D Engine

Curseye3DEngine - independent realtime 3D Engine

02.01.2016 17:24
 
GastSa. 02 Jan. 2016, 17:24 Uhr
Hallo,
hiermit möchte ich meine eigene 3D Engine vorstellen. Die Entwicklung betreibe ich hobbymäßig seit ca. 1,5 Jahren. Das Projekt hat mit meiner Bachelor of Science Aschlussarbeit in Informatik angefangen. Seitdem verbessere Ich die Qualität und Funktionalitäten immer weiter. Mittlerweile besitzt meine Engine eine sehr professionelle state-of-the-art rendering-pipeline.
Mein Ziel ist es nun, die Engine bekannt und konkurrenzfähig zu machen und mithilfe einer Community die Performance und Qualität weiter zu verbessern, um mit kommerziellen Game Engines wie UnrealEngine Schritt zu halten.
Demos, Documentationen, Github-Verzeichnis und eine ocean renderer simulation zum download sind auf der folgenden Website verfügbar: http://www.curseye3d.com

water renderer of Curseye3DEngine:



terrain renderer of Curseye3DEngine:



bumpmapped surface rendered with Curseye3DEngine:



Ich hoffe euch gefällt meine Arbeit. Falls Interesse auf Zusammenarbeit besteht kontaktiert mich. Um mich zu unterstützen, besucht meine Kickstarter Kampagne: https://www.kickstarter.com/projects/1240140588/curseye3dengine?ref=card


Fynn Fluegge

 
jonnydjangoSa. 02 Jan. 2016, 19:13 Uhr
Sieht klasse aus...
Khaos hier aus dem Forum baut auch an einer 3D-Engine. Vll. kannst du dich mit ihm austauschen.
Falls du Interesse hast, Character mit PBR-Materialien in deiner Engine zu probieren, kann ich evtl. aushelfen smile

Grüße
Helmut/Jonnydjango
 
GastSa. 02 Jan. 2016, 23:01 Uhr
Vielen Dank! Wie man Simulationen erstellt, Modelle einfügt und lädt oder Materialien auf Modelle mapped, dazu werde ich demnächste kleine Tutorials erstellen, damit jeder damit arbeiten kann wenn er will. Dann kannst du gerne das Rendern von PBR Materialen ausprobieren smile
Im Moment gibt es auch noch eine ganze Menge andere Dinge zu tun, wie z.B. precomputed Atmospharic Scattering, deferred shading oder voxel sparse octree rendering...
 
GuyGoodMo. 04 Jan. 2016, 16:52 Uhr
Hallo Fynn,

Ganz allgemein finde ich das super, was du machst. Als Individuum. Insgesamt aber halte ich dein Projekt aber für unerreichbar, das lehrt einfach meine eigene Erfahrung.

Das Problem ist einfach, dass ich den jetzigen Stand deiner Engine eher als Benchmark- oder TechDemo Platform einschätzen würde. Von einer Spiele-Engine scheint mir das noch SEHR SEHR weit weg zu sein und erst am Anfang, von "The project is still in the mid stage of development" kann da meiner Meinung nach keine Rede sein.
Es geht bei einer Game-Engine eben nicht nur um Grafik und neuste Grafik-Features sondern um das Framework dahinter. Das fängt beim Laden von 2D - und 3D-Inhalten an und hört bei sonstwas auf: Actor-Component System, datenorientierte Strukturen oder was auch immer. Und selbst wenn du von alledem schon einiges hättest (was du dann aber wohl auch gezeigt hättest, gibt es denn überhaupt einen Editor zur Levelerstellung?) dann wäre das ja immernoch nur für dich allein nutzbar und erst mit einer größeren Nutzerbasis würden sich Usability-Probleme offenbaren. die du jetzt wahrscheinlich noch nicht mal in Erwägung ziehst

Ich will das jetzt auch nicht schlecht reden, aber eine eigene, große Engine, die mit UE4 oder Unity mithalten will, das halte ich einfach im Alleingang für Unmöglich und ich will auch dem hier im Forum ansässigen khaos nichts absprechen, aber ich bezweilfe auch bei seinem Projhekt, dass da jemals etwas rauskommt, was für eine größere Nutzerbasis ausgelegt ist oder mit dem man wirklich etwas anfangen kann, außer TechDemos oder Benchmarks mit BlingBling Features.

Damit will ich euch beiden auch nicht eure Fähigkeiten als Programmierer absprechen, aber solch eine Engine ist einfach zu groß. Und sobald ihr das neueste X-Bla-BumpNormalWhatever Mapping mit Distance Fields^^ implementiert habt, gibt es wieder was neues im Bereich Partikelsysteme und dann hat man einfach meiner Meinung die Wahl zwischen 2 Möglichkeiten: 1) Entweder man released etwas mit wissentlich älterer Technik, weil man nicht mehr hinterherkommt mit Features+ Bugfixing oder 2) man werkelt immer weiter dran rum und wird NIE fertig.

Von daher kann ich da nur sagen, dass Synergien doch manchmal etwas tolles sind und du dich eventuell direkt nach einem (Hobby-)Team umschauen solltest., aber das ist nur meine Meinung.

Zur Engine selbst sind mir 2 Dinge aufgefallen:

1) Dein "high detailed Bumpmapping" ist doch kein Bump-Mapping oder? Für mich ist BumpMapping die Illusion von Detail, ohne die Geometrie zu verändern. Also entweder hast du da irgendein Displacement/Tesselation am Start, oder du hast auf ein hochdetailliertes Objekt zusätzlich eine Bump-Map draufgepackt. Beides finde ich verwirrend.

2) Die Engine ist komplett in Java geschrieben. Nichts für ungut, aber kann man wirklich" high performance realtime game engines" mit Java entwickeln, die ebenso performant sind, wie ihre C(++) Gegenstücke? Habe damit nicht soviel Erfahrung, glaube das aber fast nicht. Da würde ich gern deine Meinung dazu hören smile
 
TilesMo. 04 Jan. 2016, 17:55 Uhr
Najo, natürlich darf bei einem Ein Mann Projekt niemand einen Unity oder Unreal Killer erwarten. Aber die Godot Game Engine ist zum Beispiel auch ein Ding von zwei Programmierern. Und inzwischen doch recht beliebt smile
 
GastDi. 05 Jan. 2016, 15:41 Uhr
Vielen Dank für deine ausführliche Meinung @GuyGood! Du hast natürlich Recht, einen "Unrealkiller" zu entwickeln ist natürlich erstmal unmöglich im Alleingang. Und eine Engine auf dem Level von kommerziellen Engines zu entwickeln, darf auch nur ein derartiges Ziel sein, das nur unter perfekten Umständen mit einer minimalen Chance erreicht werden kann, für das es null Garantie gibt, auch wenn alles glatt läuft.
Und weil ich bis jetzt nur hobbymäßig nebenbei an der Engine gearbeitet habe (was auch so bleiben wird), ist erstmal das Ziel Leute zu finden die sich auch hobbymäßig daran beteiligen wollen. Denn als Ein-Mann-Projekt kommt man irgendwann nicht mehr weiter. Und trotzdem will ich weiteren Fortschritt. Wenn ich mal überlege wie schlecht mein Projekt noch vor einem Jahr war im Vergleich zum jetzigen Zeitpunkt, warum soll es nicht in einem weiteren Jahr nochmal viel besser sein? Und Benutzerfreundlichkeit für eine große Nutzerbasis wird ja auch erst auf Dauer erreicht, indem viele Nutzer hinzukommen und auf Nachteile oder Fehler hinweisen.
Aber ich bin der Meining, dass es definitiv nicht unmöglich ist mit mehreren sehr guten Leuten eine Engine auf dem Level der großen Game Engines zu entwickeln. Klar an Portabilität, Benutzerfreundlichkeit etc. kommt man nicht heran, dafür exisitieren andere Engines teilweise schon viel zu lange und konnten in den Bereich viel mehr optimieren. Aber von den Rendering-Techniken und Grafikqualitäten mitzuhalten ist es aufjedenfall möglich.

Und ja du hast Recht man wird NIE fertig, aber das will man ja auch gar nicht. Es gibt immer etwas zu verbessern und zu optimieren und mit dem state-of-the-art mitzuhalten. Ich verstehe nicht so ganz, was du meinst mit den zwei Möglichkeiten. Jede Game Engine hat Vor- und Nachteile und kommt in gewissen Bereichen mit einer anderen Engine nicht hinterher, kann aber dafür in wieder anderen Bereichen punkten. Das Gesamtpaket ist ja was zählt. Und Bling-Bling ist auch ein wichtiger Punkt. Jeder liebt es doch, sich in einer 3D Welt zu bewegen mit Bling-Bling hier Bling-Bling da, der Objektive Eindruck spielt immer eine sehr große Rolle.

Zu den Sachen die dir aufgefallen sind:
1) Ja das stimmt, ich verwende mehr als Bumpmapping. Tessellation, Displacement und Normalmapping.
Die Oberfläche exisitiert nicht als "hochdetailliertes Objekt", es wird in Echtzeit mit den entsprechenden Techniken bei naher Distanz in verschiedenen Shadern detailreich. Dass ich das Ganze bumpmapping nenne ist etwas ungünstig, aber ich weiß nicht wie ich das sonst kurz gefasst nennen soll. Oder das "hight detailed bumpmapping" einfach ganz weglassen.

2) Performance von Programmen wegen ihrer Programmiersprache abzusprechen finde ich immer etwas unfair. Klar, C++ ist der Standard und beliebter. Java war auch vor Jahren im Vergleich performancemäßig ziemlich schlecht. Mittlerweile ist das aber nicht mehr der Fall aber viele Leute denken noch so. Java hat aufgeholt. Ich habe auch mit C++ angefangen aber Java hat mir irgendwie besser gefallen. Und die Performance von Programmen muss auch an vielen weiteren Dingen ausgemacht werden als nur an der Programmiersprache.

Gruß
Fynn



 
defraggerSa. 09 Jan. 2016, 08:08 Uhr
na da hast du dir für die nächsten fünf bis zehn Jahre was vorgenommen. Man lernt bei solchen gigantischen Projekten aber unheimlich viel dazu. Von daher kannst du gar nichts falsch machen.

Mein Engine Developer meinte Java ist immernoch Käse für eine Engine. Die Performance ist einfach nichts. Er hat sich dein Motion Blur angeguckt und meinte das braucht bei heutigen Engines nur ein hundertstel der Rechenzeit. Ich selbst kenne mich damit leider null aus und kann das deshalb nicht beurteilen.

Wünsche auf jeden Fall noch viel Spaß mit deinem Vorhaben.
 
 

 


 
 
© 3D-Ring - deutsche 3D Software Community, Archiv 2001 - 2006