Screenshot Thread - Eine gute Idee?



  • xindon schrieb:

    Meine Simulation des Sonnensystems, entstand aufgrund eines Wettbewerbs an meiner Schule:

    Ich hoffe das hast du noch nicht eingereicht! 😮 Die Beleuchtung ist ja ganz falsch :p

    Btw, deine image-links könnten benutzerfreundlicher sein: http://www.c-plusplus.net/forum/viewtopic-var-t-is-185158.html


  • Mod

    ich lass die umfrage dran, man kann sich ja noch weiter dran beteiligen 😉

    und damit es ein wenig produktiv von meiner seite aus ist:

    http://rapsooo.tripod.com/

    Project: DLt (Dionysos-Engine-Lite)
    besonderheiten:
    - komplette toolchain um aus max komplette level ins engineformat umzuwandeln, mit textures und helpers etc.
    - softwarerasterizer der ohne eine einzige division auskommt, peak liegt bei ca 64000 sichtbaren dreiecken/s die von 3d objekten projeziert wurden (fuer projektion wurde eine divsion pro 3vertices benoetigt.
    - das game war schon spielbar, man konnte rumfliegen, schiessen (obwohl noch keine particle zu sehen waren)
    - es gab schon einen movieplayer nach mpeg vorbild mit motion compression etc.

    die idee kam mir als ich wing commander auf dem gba mit der blue rose engine von raylight gezoggt habe. immerhin schimpfte sich die engine als weltbeste fuer gba mit 16000tri/s.

    auf der page sind auch 3 kleine videos verlinkt.

    jemand anderes hat mit der engine sowas wie nen wipeout clone fuer gba angefangen:
    concept art
    es gab auch schon eine kleine level durch die man fahren konnte, auf und ab gab es nicht, also eher F-Zero, dennoch war es schonmal spielbar und ein wenig spassig. (besonders weil man mal sieht wie jemand anderes etwas mit der eigenen tech erstellt).



  • ja, eine gute idee.

    das einzige was ich hier momentan zeigen kann ist eine simple heightmap mit skybox, dank octree auf ganze 7 FPS gebracht im OpenGL software mode auf einem 1GHz-notebook 🙂

    kuckst du:
    http://img205.imageshack.us/img205/8482/sycoraxeg3.jpg



  • Bäh, das ist ja eklig! 😃



  • Um als Anstifter auch was beizutragen:

    Turbo Willi Bros. 😃
    Ist vor etwa 3 Jahren enstanden. Entwickelt wurde es afaik als Schulprojekt von einem Kumpel und mir. Programmiersprache war Turbo Pascal. Wie unschwer zu erkennen ist wurden sämtliche Grafiken nicht von uns gemacht sondern aus externen Quellen herangezogen.

    http://img527.imageshack.us/img527/5036/sshot2gm5.jpg

    http://img338.imageshack.us/img338/544/sshot4tx6.jpg



  • Dann trag ich auch mal was zu bei.

    http://firbach.dyndns.org/garbage/screens/screen0.jpg
    http://firbach.dyndns.org/garbage/screens/screen1.jpg

    Was man hier sieht, wird vielleicht mal eine RTS-Engine. Im Moment habe ich hauptsächlich an der Grafik was gemacht, nicht an der Spiellogik. Es sind grundlegende Sachen drin wie frustum culling, nach state sortiertes rendern, Terrain (ohne Geometrie), Unterstützung für halbtransparente Objeke, Einfärben von Objekten je nach Spielerzugehörigkeit (ohne extra pass), GUI-System, aber es fehlt noch ein Animationssystem. Das neueste ist die Tageszeitsimulation, naja sieht ganz nett aus, aber mehr auch nicht. 😉



  • Haha, das "Holz" sieht auf den ersten Blick aus wie ein Bild, das mit falschen Pitch ins VRam geschrieben wurde 😉


  • Mod

    Optimizer schrieb:

    Dann trag ich auch mal was zu bei.

    http://firbach.dyndns.org/garbage/screens/screen0.jpg
    http://firbach.dyndns.org/garbage/screens/screen1.jpg

    Was man hier sieht, wird vielleicht mal eine RTS-Engine. Im Moment habe ich hauptsächlich an der Grafik was gemacht, nicht an der Spiellogik. Es sind grundlegende Sachen drin wie frustum culling, nach state sortiertes rendern, Terrain (ohne Geometrie), Unterstützung für halbtransparente Objeke, Einfärben von Objekten je nach Spielerzugehörigkeit (ohne extra pass), GUI-System, aber es fehlt noch ein Animationssystem. Das neueste ist die Tageszeitsimulation, naja sieht ganz nett aus, aber mehr auch nicht. 😉

    kann man den himmel sehen, dass du die tageszeit simulierst? wirkt sich das auch irgendwie aufs spiel aus?
    2d terrain? wird man irgendwie rotieren koennen, obwohl es keine geometrie fuers terrain gibt?



  • Man kann den Himmel nicht sehen. Es wandert allerdings die Sonne (und der Mond) und beide gehen auf und ab. Das Tageslicht färbt sich in der Dämmerung etwas rötlich (erster Screenshot). Die Tageszeit wird sich auf den Sichtradius der Einheiten auswirken und es wird Einheiten-Fähigkeiten geben, die nur zu einer bestimmten Tageszeit nutzbar sind, zum Beispiel eine spezielle Tarnung.

    Das Terrain ist im Moment 2-dimensional, es gibt also keine verschiedenen Höhen. Man kann die Ansicht rotieren, falls du das meinst, auch neigen und zoomen.



  • Hi.

    Wenn ich mal nichts besseres zu tun habe, dann beschäftige ich mich manchmal mit "Direct Volume Rendering". Genauer gesagt mit Raycasting. Im Prinzip geht es bei der ganzen Sache um die Visualisierung von CT-Aufnahmen, MRT-Aufnahmen und so weiter, bzw. grob gesagt um die Visualisierung von Volumendaten.

    Folgenden Screenshot habe ich vor 1,5 Jahren gemacht, seither habe ich allerdings nicht nennenswert an dem Projekt weitergearbeitet.

    http://img441.imageshack.us/img441/5464/jaradapstent2ql4.png

    Als zukünftige Entwicklung könnte man sich hier zum Beispiel vorstellen, dass man in dem Volumen eine Bildsegmentierung vornimmt, um letztendlich einzelne Objekte benennen zu können. In der Visualisierung würde das dann zum Beispiel darauf hinauslaufen, dass man verschiedene Farben für verschiedene Organe und so nimmt. Dadurch könnten dann auch Dinge auf dem Bild sichtbar werden, die man beispielsweise in dieser Aufnahme nicht sieht. ...man könnte auch bestimmte Organe "ausblenden".

    Der dargestellte Datensatz ist übrigens so um die 170MB groß, wenn ich mich richtig erinnere. Um das Volumen in Echtzeit mit der Maus drehen zu können, habe ich es dann immer runterskaliert. ...und wenn die Bewegung der Maus aufgehört hat, habe ich das hochaufgelöste Bild neu berechnet. Eine Alternative, die man hier machen könnte, wäre die Nutzung des sogenannten ShearWarp-Algorithmus. Hierbei wird das Volumen nicht gedreht, sondern praktisch nur verzerrt. Der Vorteil davon ist, dass man das Volumen bei der Darstellung in Speicherreihenfolge durchlaufen kann. Das ermöglicht einem eine viel höhere Auflösung bei der Arbeit mit dem Bild. Dafür ist die Darstellung natürlich nicht im eigentlichen Sinne "korrekt".

    Das Programm nutzt übrigens keine Grafikbeschleunigung. Es gibt zwar Ansätze, solche Dinge über die Grafikkarte darzustellen, das würde dann aber wieder auf andere Algorithmen hinauslaufen. Beispielsweise könnte man den Marching-Cubes-Algorithmus verwenden, um entsprechende Daten für die Grafikkarte zu generieren.



  • Vielleicht kennt einer von euch das Brettspiel "Heroscape". Aufgrund des Mangels an echten MItspielern, habe ich versucht das Spiel im Rechner umzusetzen.
    Hier ein paar Bilder:

    http://img297.imageshack.us/my.php?image=editor7de4.jpg

    http://img404.imageshack.us/my.php?image=editor9rx8.jpg

    http://img140.imageshack.us/my.php?image=editor11ey8.jpg

    http://img209.imageshack.us/my.php?image=55752857ug0.jpg

    Enthalten ist das komplette Spiel inklusive einiger Erweiterungen. Man kann sowohl bis zu viert an einem Rechner spielen, als auch alleine gegen einen eher nicht so klugen Computergegner und mit bis zu 8 Personen über Lan/Internet.
    Es ist auch ein Editor enthalten, mit dem man neue Levels erstellen kann.



  • Das sieht doch mal cool aus 🙂

    Wahrscheinlich ist es schon eine Weile her, dass du das geschrieben hast, aber wenn die Grafiken ein wenig farbenfroher wären, würd's gleich nochmal viel schicker aussehen 🙂


  • Mod

    da stimm ich zu, sieht echt cool aus. vor allem sieht es auch aus als waere es fertig 🙂
    die texturen wirken ein wenig kriselig, vielleicht ist filterung aus?



  • Also die Farben vom Spiel sind im Orginal auch so und da ich künstlerisch und graphisch nicht so der Könner bin, war ich schon froh, das überhaupt so hinbekommen zu haben. Die Bilder sind auch stark komprimiert, in echt sieht es besser aus. Das Spiel ist komplett spielbar und somit fertig, es fehlen lediglich noch ein paar Spezialfähigkeiten von einigen Figuren (es gibt im Spiel ca 40 verschiedene) und ein Win/Loss Bildschirm. Der Rest funzt, sogar der Würfelwurf funktioniert prima (6 seitige und 20 seitige).



  • Schmiddie schrieb:

    sogar der Würfelwurf funktioniert prima (6 seitige und 20 seitige).

    🙂 http://imgs.xkcd.com/comics/random_number.png



  • Ist ja lustig, nettes Bild. Ich meinte damit, das sie wie echte Würfel rollen, die mit der Hand auf den Tisch geworfen werden, also graphisch was hermachen.



  • Das find ich eigentlich eine coole Idee. Bei einer Brettspielumsetzung wär ich glaub ich nie auf die Idee gekommen das Spielen am Brett an sich zu simulieren, sondern eben wie Aoe oder Civilization.



  • Screenshot:
    http://loop.servehttp.com/~vertexwahn/uploads/RayDebugger1.png

    Mit dem Tool kann man bisher nur Strahlen von einem Projektionszentrum aus durch eine Projektionsfläche "schießen" - es spiegelt als das Prinzip der primären Strahlen im Raytracing wieder.

    Je nachdem wie ich Zeit finde werde ich das Programm noch ein bisschen erweitern. In der ersten Ausbaustuffe soll es möglich sein Kugeln und Dreiecke in die Szene einzufügen. Das Tool soll dann Schnittpunkte mit dem am nahe liegestem Objekt zum Projektionszentrum berechnen.

    Im nächsten Schritt soll es möglich sein der Szene Punktlichter hinzu zu fügen. Außerdem sollen dann Materialen eingeführt werden und es soll der diffuse Lichtanteil berechnet werden und angezeigt werden.

    Damit kann jemand der versucht einen Raytracer zu programmieren gegenprüfen, ob sein Raytracer die Richtigen Werte liefert - daher auch der Name des Projekts: RayDebugger

    In einer weiteren Ausbaustuffe wären dann auch Reflektierte und gebrochene Strahlen denkbar (also Sekundär Strahlen).

    Damit sollte es dem Entwickler eines Raytracers dann möglich sein nachvollziehen ob der Raytracer auch in diesem Programmteilen richtig arbeitet.

    Da das manuelle vergleichen von Diffusen Lichtanteilen, das verfolgen von rekursiven Strahlen, das Nachbauen der Szene in dem Editor, usw. sehr aufwendig ist soll eine Schnittstelle geschaffen werden mit der es möglich ist jeden Wert den der Raytracer berechnet an den RayDebugger zu schicken, der daraufhin alle Berechnungen des Raytracers gegenprüft und bei einer Abweichung eine Fehlermeldung ausgibt. Außerdem soll im Zuge der Fehlermeldung auch gleich der Fehler visualisiert werden, wobei dieser dem Korrekten Wert (z. B. Strahl) gegenüber gestellt werden soll.

    Die Schnittstelle für einen Raytracer zum Raydebugger könnte z. B. so aussehen:

    #ifndef RayDebugger_Interface_h
    #define RayDebugger_Interface_h
    
    void rdCreateSphere(float radius, float x, float y, float z);
    void rdCreateTriangle(...);
    void rdSpanRay(float projection_center_x, float projekction_center_y, ...,
                   int cellX, int cellY);
    void rdPrimaryDiffuseReflection(float diffuse);
    void rdSecoundaryDiffuseReflection(float diffuse, int recursionLevel);
    ...
    
    #endif
    

    Ob ich überhaupt noch am Projekt weiter mache steht in den Sternen - mich würde jetzt nur noch eines interessieren: würdet ihr den RayDebugger verwenden, wenn ihr einen Raytracer Programmieren würdet?





  • Da wir gerade beim Thema Raytracing sind, hier paar Bilder meines Raytracers (inkl. Photon-Mapping):
    http://www.infoboard.org/screenshots/bunny_scene_local_lighting.jpg (Raytracer, Refraktion, Hardshadows)
    http://www.infoboard.org/screenshots/bunny_scene_photon_mapping.jpg (Raytracer, Photon Mapping, Softshadows)
    http://www.infoboard.org/screenshots/ray2.JPG (Reflektionen)
    http://www.infoboard.org/screenshots/small_participating_media01.JPG (Participating Media, Kaustiken)
    http://www.infoboard.org/screenshots/small_participating_media02.JPG


Anmelden zum Antworten