ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4421446
Jetzt (Chat):
4 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-
"Project Reality" von Simon Brandl (Brandlnator)


Schönen guten Morgen!

Nachdem bei Zerbies letztem IOTW alles Mögliche, aber keine Schatten zu sehen waren, möchte ich an dieser Stelle mal meine aktuelle Engine präsentieren, die zwar noch ganz am Anfang steht, dafür aber dynamische Schatten hat. ;)
Ich schreibe sie zusammen mit ein paar Freunden, wobei der Löwenanteil mal wieder an mir hängen geblieben ist.

Die Engine
... arbeitet mit einem eigenen Mapformat. Die Maps werden mit Worldcraft/Hammer oder einem anderen HL-kompatiblen Editor erstellt, ein kleiner Koverter von uns liest dann die rohen Mapdaten und speichert sie in unserem Format.
Wir planen, einen "kleinen" Ego-shooter mit der Engine zu basteln - wenn sie dann mal soweit ist. Momentan stehen wir noch ganz am Anfang: Noch kein VSD oder Space-Partitioning ist implementiert, Entities, Objekte und ähnliches fehlen noch komplett.
Alles was bereits beweglich ist, sind die Lichtquellen und die Kamera. Geschrieben ist die Engine mit VC++. Sie verwendet OpenGL.

Die Maps,
... die hier sichtbar sind, verwenden HL-Texturen und z.T. auch HL-Prefabs. Spart euch eure Kommentare diesbezüglich, die ändern wir schon noch!

Die Beleuchtung
... ist auch noch sehr Elementar: Momentan wird nur Vertex-Lighting unterstützt, was dank dynamischer Tesselation aber schon relativ gut aussieht. Im Gegensatz zu diversen
kommenden Produkten von id-Software wird bei uns auch das Ambient-Light dynamisch berechnet, was völlig schwarze Schatten vermeidet und daher wesentlich realistischer aussieht. Gut sichtbar ist das Lighting im Bild oben rechtes - hier sind die Texturen deaktiviert.
Als nächstes kommt dann Dot3-BumpMapping sowie specular Lighting - beides per-pixel.

Die Schatten
... werden komplett durch Shadow Volumes dargestellt. Die Engine beherrscht sowohl zFail- als auch zPass-Shadows, wobei die Pass-Methode bei den hier gezeigten Indoor-Szenen wenig Sinn machen würde. Bisher werden die Volumes von der CPU berechnet und in Display-Lists
gecached, solange sich die Position der Lichtquelle nicht ändert. Bei Zeiten wird ein Vertex-Shader-Modus folgen.

Die Performance
... hängt entscheidend von der Pixelfüllrate der Grafikkarte und der Anzahl der Lichtquellen ab. Da die Szene einmal für Ambient-Light und ZInit, dann pro Lichtquelle noch einmal, inklusive zwei mal für Shadow Volumes gezeichnet wird, kommt eine ganze Reihe von Passes zusammen. Das Fehlen von jeglichem VSD tut sein Übriges. Auf einem Athlon 2400+ mit GeForce4 4200 und 800*600 Bildpunkten haben wir bei der oben links gezeigten Szene ca. 70 Fps. Raum für Optimierungen gibt es aber noch genug.

Mehr auf www.projectreality.de.vu

Simon Brandl (Brandlnator)






Von sTr33n am 05.05.2003, 07:47:58 Uhr
Hallo!


Ich finde, dass das schon sehr ordentlich aussieht!

Wirklich nett! Die Schatten sehen wirklich ordentlich aus.

Frage ist jetzt nur wie gut ein Spiel mit dieser Engine aufgebaut wird :)

Ich kann mir gut vorstellen, dass diese Engine, wenn sie gut läuft und nicht zu resourcenfressend ist, seeehr gut für einen SHooter herhalten kann.

MP wäre natürlich YEAH *g*

also dann..

gute Arbeit!

mfg

Von TCS am 05.05.2003, 09:30:26 Uhr
Macht einen guten Eindruck!
Achtet aber darauf, dass ihr erst die Engine optimiert, ehe ihr irgendwelche zusätzlichen Features wie Bumpmapping, und alle was mit per-pixel beginnt :)

Von KingKiKapu am 05.05.2003, 11:15:56 Uhr
Das mit den Schatten wirkt gut, trotz der fehlenden Texturen und Polygonarmut, sieht dies ja gleich deutlich wirklichkeitgetreuer aus, als Zerbies Screenie.

Aber auch ich muss mich anschliessen, bevor ihr noch weitere Features einbaut, solltet ihr erstmal die Performance überdenken.

Von int am 05.05.2003, 11:26:15 Uhr
hi
sieht schon recht gut aus. die levelgeometrie ist zwar noch nicht sehr beeindruckend, kann aber noch werden.
die schatten find ich beeindruckend, braucht man für sowas eigentlich auch eine bestimmte grafikkarte?

Von ONeinONeill am 05.05.2003, 12:04:09 Uhr
Hallo,

schaut wirklich sehr gut aus. Der Schatten und das Licht gefällt mir und da kann ich mich KKK nur anschliessen.

Da Bump-Mapping noch nicht eingebaut ist, bin ich mal gespannt wie es danach aussieht.

Von Mayhem am 05.05.2003, 12:28:08 Uhr
Das sieht sehr genial aus.

Von Alte Oma mit Kinderwagen am 05.05.2003, 15:55:17 Uhr
schaut sehr gut aus,
aber dynamische schatten würde man am besten in einem video sehen ;-)
kann man dann eigentlich auch die lampen ausschiessen?

Von Brandlnator am 05.05.2003, 17:19:06 Uhr
danke erstmal, autogramme gibt's dann später. ;)

zur optimierung: steht als nächstes an. auf jeden fall wird's ein pvs-system und view-frustum-culling geben, wobei ich noch mit mir ringe, ob ich auf octrees (für indoor allgemein nicht 100% geeignet), oder auf bsp (zerhackt die geometrie unnötig weit - schlecht für shadow volumes) setzen soll.

zu levelgeometrie und polygonarmut: das bleibt vermutlich relativ polygonarm, um den absoluten frameratenkill zu vermeiden. bedenkt, dass da später auch noch models rumhopsen sollen. wenn diese noch schatten werfen, kommen enorme polygonzahlen zusammen. also große sprünge wirds erst geben, wenn das culling absolut perfekt arbeitet. :)

zur grafikkarte: die grafikkarte muss stencilbuffer unterstützen, was aber alle nicht-3dfx-karten seit der tnt2-generation tun sollten. da der limitierende faktor hier die pixelfüllrate ist, sollte eine gf2gts aber in der praxis das minimum darstellen.

zu dynamische schatten im video: tatsache, die würde man dann besser sehen, aber hier gibt's ja kein Video-of-the-week... :D

zu lampen ausschießen: es gibt noch nichts, womit man schießen könnte, aber theoretisch geht das mit der engine - flackereffekte sind schon drin und das ist technisch letztendlich das selbe.

Von Stefan Zerbst am 05.05.2003, 18:13:00 Uhr
Hi,

Zitat:
zu levelgeometrie und polygonarmut: das bleibt vermutlich relativ polygonarm, um den absoluten frameratenkill zu vermeiden

Also Polygone kann man auf aktuellen Grafikkarten fast für umsonst hinzufügen, erst recht wenn sie vergleichsweise klein am Bildschirm sind und die Füllrate daher nicht zu sehr limitiert.

Auf ein PVS würde ich gänzlich verzichten, meiner Erfahrung nach reicht ein Frustum Culling und ein gutes Occlusion Culling der Portale und der Objekte im Level aus. So lange man nichts unter einer GeForce Ti anvisiert bringt man sich damit eine Menge Freiheiten ein :)

Ciao,
Stefan

Von BertoSmasher am 06.05.2003, 00:15:14 Uhr
Hi, sieht echt cool aus besonders die Schatten. Wir machen auch unsere Seminarfacharbeit über Gamedesign aber wir haben uns erstmal net für nen shooter entschieden, da unsere lehrer der meinung sind, dass alle die "sowas" spielen irgendwann amok laufen.

BTW: @Zerbie: ich hath dir mal ne mail wegen Buch 2 geschrieben, und du hast noch net geantwortet. Will net drängeln, sondern es nur erwähnen, kann ja sein, dass die mail net ankam ;)

Von Stefan Zerbst am 06.05.2003, 06:34:43 Uhr
Hi,

@Berto
Ja die liegt hier noch rum. Bis heute einschliesslich hab ich aber noch ein wenig Arbeitsstress darum muss das noch etwas warten :)

Ciao,
Stefan

Von maestro.n am 06.05.2003, 14:04:54 Uhr
Sieht schon fast aus wie Splinter Cell (natürlich besser)