SoftPixel Engine (neu: SVN Repository & CMake files)
-
Wow gefällt mir echt gut
Besonders gut find ich, was ich bis jetzt bei jedem anderen freeware engine vermisst habe, die shader library!!!So was gehört in jeden guten engine.
Saubere shader , mit sehr guter qualität.Als echtIhr müsst einfach weiter machen
-
Hm ok , ich vermisse was.
Bounding boxes/collision detection/collision response animator.
(ka oder ich finds nicht x'D)
Vielleicht könnt ihr das noch einbauen , obwohl das nicht nötig ist, da bei den meisten Physik engines (Newton,PhysicX) bboxes dabei sind... nur ein vorschlag.Und auch ein engine format für 3D szenen , mit eigenem engine editor, was aber zeit hat.Eig ist das ja schon indirekt mit dem shaping tut gegeben aber ...
-
7xCore schrieb:
Hm ok , ich vermisse was.
Bounding boxes/collision detection/collision response animator.
(ka oder ich finds nicht x'D)
Vielleicht könnt ihr das noch einbauen , obwohl das nicht nötig ist, da bei den meisten Physik engines (Newton,PhysicX) bboxes dabei sind... nur ein vorschlag.Und auch ein engine format für 3D szenen , mit eigenem engine editor, was aber zeit hat.Eig ist das ja schon indirekt mit dem shaping tut gegeben aber ...
[quote]
Collision Detection hat er bereits eingebaut. Was meinst du mit "Engine format für 3D szenen"? Du meinst ein Modelformat? Wofür, gibts doch alles wie Sand am Meer... Und was meinst du mit engine editor?
-
Ein eigenes model format hast du ja schon erkannt , und dazu einen editor um diese zu erstellen.
-
Hier sind alle Features aufgeführt: http://softpixelengine.sourceforge.net/features.html
- Da steht auch was von CollisionDetection (seit v.3.0 ist sogar NewtonGameDynamics integriert).
- Auch mehrere Mesh formate können geladen werden (3DS, B3D, MS3D, X, MD2, OBJ und das Hauseigene Format SPM).
- An einem LevelEditor arbeite ich zur Zeit (http://www.hlc-games.de/forum/viewtopic.php?f=31&t=308&sid=ce374cb22cefc56a411d5bcbb4ef4c5a).
- Einen MeshEditor zu entwickeln habe ich aufgegeben und statt dessen endlich mal angefangen mit Blender zu arbeiten ^^
- Ein eigenes Szenen-Format gibt es auch (im eigenen Script Format: http://softpixelengine.sourceforge.net/docu/classsp_1_1tool_1_1_script_loader.html)Zum Thema ShaderLibrary: nicht das ihr das falsch versteht: mit "ShaderLibrary" ist lediglich eine 'Sammlung' an Shadern gemeint. Diese können aus dem gleichnamigen Tutorial frei genutzt werden (ebenfalls zlib/libpng Lizenz). Genau wie in einer "C++ Library": es handelt sich um eine 'Sammlung' von Funktionen.
Nicht dass ihr meint, es handelt sich um einen Shader-Generator o.ä.Gruß,
Lukas
-
Sehr beeindruckend
Kannst Du Literatur zum Aufbau einer Engine empfehlen?
-
Danke erstmal für die ganzen links
Das mit der shader lib war schon klar , damit wollte ich nur sagen , das so was geniales bei irrlicht oder ogre3D fehlt und deswegen das hier besonders gut ist :p
-
Sorry, aber das einzige Wort, das mir zu deiner Engine einfällt, ist "Scheiße". Ich habe mir den Sourcecode angesehen und war erschüttert. Du magst mich nun vielleicht nicht ernst nehmen, weil ich nicht gerade den besten Ruf hier habe, aber folgende Kritikpunkte möchte ich dir mal nennen. Das war alles, was ich mir angesehen habe. Und es ist alles Mist. Ich kann mir nicht vorstellen, dass der Rest der Engine besser ist.
.) Du hast da offenbar 2 Stringklassen. Eine als Wrapper für std::string, eine mit eigener Speicherverwaltung. Keine davon ist besser als std::string oder in auch nur irgendeiner Form nützlich. Deine Stringklassen unterstützen keine Locales, sind noch schlechter designt als die Standard-Stringklassen und Ausgabeoperatoren fehlen auch.
.) Dein Logger ist absolut Java-like. In C++ wäre ein Logger in Form von Templates in Kombination mit std::ostream präsent. Du zwingst den Benutzer der Klasse, nach stringc, deine unbrauchbare Stringklasse, umzuwandeln. Er ist übrigens eine Klasse mit ausschlißelich statischen Membern, das sollte dir zu denken geben.
.) Memory Manager:
- Hat der überhaupt einen Zweck?
- deleteMemory/Buffer: Eine Prüfung auf 0 ist nicht erforderlich, ein Null-setzen nicht immer benötigt. Dann wären wir ja wieder nur bei delete. Welchen Zweck hat das Ding doch gleich?
- createMemory/Buffer: new gibt niemals 0 zurück. Wenn kein Speicher mehr da ist, wirft new einen std::bad_alloc.
- removeElement: Noch nie was von <algorithm> gehört?
- deleteList: Der nächste Mist. Dafür gibts Smartpointer und Dinge wie boost::ptr_vector..) Filesystem && Konsorten:
Auch hier: Was soll das sein? Himmel, der C++-Standard stellt dir Filestreams zur Verfügung, und wenn du RAM-Files haben willst, dann bau dir eben deinen eigenen streambuf dafür. Und warum zwingst du den Benutzer auch hier, Strings zu schreiben?.) Deine Farbenklassen.
- Was kommt denn raus, wenn man 2 Farben multipliziert? Eine Quadratfarbe? Darf man 2D Figuren nur mit Quadratfarben, Linien nur mit "normalen" Farben anmalen? Und bei 3 Farben eine Kubikfarbe, etc.?
- Warum zur Hölle definierst du einen leeren Destruktor, der tut doch gar nichts.Und überall durch und durch C-Casts.
Das sind übrigens noch keine Engine-spezifischen Dinge. Das sind alles allgemeine Klassen, die ich mir angesehen habe.
Mich wundert, dass dich noch niemand in diesem Thread darauf hingewiesen hat.
Bitte nicht falsch verstehen: Ich habe Respekt davor, wie lange du schon an diesem Mammut Projekt arbeitest. Aber tu den Benutzern deiner Eingine einen Gefallen, und lern C++
Grüße,
PI
-
314159265358979 schrieb:
.) Deine Farbenklassen.
- Was kommt denn raus, wenn man 2 Farben multipliziert? Eine Quadratfarbe?Fail.
Warum kommt mir nur gerade ein Dieter Nuhr Spruch ins Gedächtnis...
-
Aber tu den Benutzern deiner Eingine einen Gefallen, und lern C++
Das kann ich nicht unterstützen
Um so einen engine aufzubauen , ist ein sehr weites C++ know-how nötig , egal wie schlecht oder gut er deiner meinung nach ist.
-
Lustig, hier http://www.c-plusplus.net/forum/291436-180 jammert der gleiche Troll, dass er nix auf die Reihe kriegt und übergibt Strings by Value. Kann man also getrost ignorieren.
-
Hehe ja. 314159265358979 fällt ganz klar in die Kategorie "aggressiver, unzufriedener Bash-Troll"
-
@314159265358979:
Die Engine hat sicher noch ihre Ecken und Kanten, somal an einigen Stellen noch veralteter Code steckt, den ich erst nach und nach überarbeite.
Dazu gehören u.A. die C-Casts.Allerdings erwartest du anscheinend, dass ich ein Entwickler von boost bin, der C++ 100% perfekt beherscht.
Das ist nicht der Fall. Dennnoch können sich andere an meinem open-source Projekt erfreuen wie du siehstWenn du eine none-plus-ultra Engine willst, kauf dir eine Lizenz für die CryENGINE. Wir machen hier hobby Programmierung und ich bin bis jetzt sehr zu frieden.
314159265358979 schrieb:
Du magst mich nun vielleicht nicht ernst nehmen, weil ich nicht gerade den besten Ruf hier habe, ...
Das kann allerdings sein
Was du machst ist nur destruktive Kritik. Und das finde ich "scheiße". Wenn du willst, dass dich jemand ernst nimmt, solltest du erst mal lernen was konstruktive Kritik ausmacht
@µ:
Ich bin neben her dabei mit LaTeX eine art mini open-book (als PDF Datei) zu schreiben, was ich später auf meiner Homepage hochladen will.
Ansonsten gibt es noch nichts an Literatur außer vlt. die Tutorials aus dem SDK in denen einiges erklärt ist.@All:
Freut mich, dass es euch gefällt. Ich hoffe dass einige von euch mit dem Android und iOS Port später auch mal etwas anfangen könnenGruß,
Lukas
-
Muhaha
Erste 3erd person camera mim softpixel engine :p
Geht echt gut
-
Wenn du dich im SPE Forum registrieren willst musst du noch ne Mail an mail[at]hlc-games.de schicken.
Dann kann ich deinen Account aktivieren. Hab ich mitler Weile so eingerichtet, weil die Spam BOTs überhand genommen haben
http://softpixelengine.sourceforge.net/faq.html#forum
-
7xCore schrieb:
Aber tu den Benutzern deiner Eingine einen Gefallen, und lern C++
Das kann ich nicht unterstützen
Um so einen engine aufzubauen , ist ein sehr weites C++ know-how nötig , egal wie schlecht oder gut er deiner meinung nach ist.Nein. Dazu ist Ausdauer und Wissen im Bereich Grafikprogrammierung nötig. Gut C++ können muss man dafür nicht.
Jester schrieb:
Lustig, hier http://www.c-plusplus.net/forum/291436-180 jammert der gleiche Troll, dass er nix auf die Reihe kriegt und übergibt Strings by Value. Kann man also getrost ignorieren.
1.) Ich bin kein Troll.
2.) Ich kriege sehr wohl was auf die Reihe. Nur keine Projekte, weil mir dazu die Ausdauer / Motivation fehlt.
3.) Ich übergebe hier gar nichts. Das war Pseudocode du Depp.LukasBanana schrieb:
@314159265358979:
Die Engine hat sicher noch ihre Ecken und Kanten, somal an einigen Stellen noch veralteter Code steckt, den ich erst nach und nach überarbeite.
Dazu gehören u.A. die C-Casts.Das sind alles grundlegende Dinge, auf denen alles aufbaut. Die sollten die höchste Prio haben.
LukasBanana schrieb:
Allerdings erwartest du anscheinend, dass ich ein Entwickler von boost bin, der C++ 100% perfekt beherscht.
Ganz und gar nicht. Aber wenn ich eine Engine sehe, dann erwarte ich von dem Entwickler, dass er einigermaßen C++ kann und ein Bisschen was von Design versteht.
LukasBanana schrieb:
Dennnoch können sich andere an meinem open-source Projekt erfreuen wie du siehst
Und wahrscheinlich die wenigsten davon haben in den Source geschaut. Wieso auch, es "funktioniert" ja.
314159265358979 schrieb:
Wenn du eine none-plus-ultra Engine willst, kauf dir eine Lizenz für die CryENGINE.
Ich will gar keine Engine. Ich habe den Thread hier entdeckt, den Source angesehen und einer persönlichen Bewertung unterzogen. Setzen, 6.
314159265358979 schrieb:
Was du machst ist nur destruktive Kritik. Und das finde ich "scheiße". Wenn du willst, dass dich jemand ernst nimmt, solltest du erst mal lernen was konstruktive Kritik ausmacht
Destruktive Kritik enthält i.d.R. keine Argumente. Davon habe ich genügend gebracht. Meine Art, das rüberzubringen war nicht ideal, das stimmt.
-
Lass einfach gut sein, ja? Das hier ist echt nicht deine Kragenweite.
-
Lass einfach gut sein, ja? Das hier ist echt nicht deine Kragenweite.
Stimm ich zu , sonst muss dieser schöne thread noch zugemacht werden,
-
Als Wenigschreiber und Mitleser und muss ich ja öfter mal den Kopf schütteln, aber die Arroganz von PI scheint mir ebenso unendlich zu sein wie die Zahl selber.
Ich stimme einigen Dingen in der Sache durchaus zu. Aber der Anspruch, die Möglichkeiten der STL vollkommen umzusetzen und solche 'Sakrilege' wie z.B. eine abgeleitete Stringklasse, die sicher vermeidbar wäre, zum alleinigen Massstab für die Beurteilung eines Gesamtwerkes heranzuziehen, kann eigentlich nur mangelnder Intelligenz oder zumindest eigenem Unvermögen entspringen.
In einen Forum, in dem aus Begeisterung und zu Hobbyzwecken durchaus respektable Ergebnisse präsentiert werden, so aufzutreten, nährt aus meiner Sicht nur den Verdacht, dass sich da jemand vor allem als GröPaZ präsentieren will. Was natürlich dann besonders gut gelingt, wenn man alle anderen Resultate in der Umgebung hauptsächlich mit Attributen wie 'Scheiße' versieht.
Selbst im professionellen Umfeld habe ich -mit einer einzigen Ausnahme- bisher noch niemanden gesehen, der die STL in allen Facetten so kennt, dass er auf eigene Konstrukte völlig verzichten kann, weil sie ja durch die STL zur Verfügung gestellt werden.
Wenn sich hier jemand in Eigenregie eine Programmiersprache beibringt, und damit ein durchaus respektables Ergebnis hinlegt, dann kann man diese Leistung nicht einfach auf Fragen der näheren Semantik bestimmter Klassen reduzieren. Wer, wie PI selber von sich sagt, nichts auf die Reihe bekommt (und nun sind mir Motive wie 'mangelnde Motivation' echt mal scheissegal), der sollte, wie bereits vorher schon mal erwähnt, einfach mal die Fresse halten, und erst mal selber was vorweisen.
Es sind nämlich bei so einem Werk auch noch ein paar andere Nebenleistungen beachtenswert, wie zum Beispiel die Idee, die Architektur, die Organisation und die Benutzbarkeit. Nicht zu vergessen solche Kleinigkeiten wie die Veröffentlichung, der Betrieb einer eigenen Website dazu, die Lieferung von Beispielen, die Kommentierung im Code, und die dargebotene Dokumentation. Ebenso die Sauberkeit der Editierung, die Anstrengungen zur Portierbarkeit (die in anderen Projekten des Autors zu erkennen sind), und das Engagement im Forum.
Wenn dann so ein, man möge mir die Ausdrucksweise verzeihen, Arsch daherkommt, und schreibt, dass ihm "dazu nur Scheisse einfällt", dann ist aus aus meiner Sicht in so einem Forum ein echter Störfaktor, der sich dafür ganz sicher einen moderationstechnischen Schuss vor den Bug verdient hat. Der Kommentar zeugt von Ignoranz, von Arroganz, und mangelndem Überblick zum Gesamtprojekt.
Da hilft auch kein noch so klug dahingeprotztes 'Wissen' um die STL. Man kann nicht verlangen, dass die Protagonisten, die hier wirklich was auf die Beine stellen, die STL auf dem Niveau von Josuttis, Alexeandrescu und Sutter beherrschen. Und ich bezweifle nach über zwanzig Jahren professioneller Tätigkeit in diesem Umfeld auch massiv, dass der dargebotene Anspruch von Schreiber selber auch nur annähernd erfüllt wird.
Nur meine zwei Cent.
Größter Programmierer aller Zeiten
-
Der Kleine ist ein Narzisst. Gut jetzt, zurück zum Thema.