Swift Shadow System
Übersicht

![]() |
PucciniBetreff: Swift Shadow System |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi!
wer hat dieses System in gebrauch und kann mir was zu den echtzeitschatten sagen? Wie flexibel ist das ganze? Kann ich einstellen in welcher entfernung noch schatten erstellt weden sollen ?? Wie schnell ist das ganze bei 100 Obejkten mit je ca 300-800 Polys,in der demo sind ja nur 5 XD danke :> |
||
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM www.ragesoft.de Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39 |
![]() |
Ray-Tracer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
Ich habs und bin mit zufrieden ,ist sehr flexibel da du am Sourcecode selber rumschrauben kannst. Ist schon relativ gut optimiert, hab bis jetzt noch nix mit Entfernungen einstellen müssen. - Ob es für dich geeignet ist ,ist ne andere Frage. 100 Objekte sind viel zu viel ,das wird nur mit ner Stencil-Engine gehen. - bei swift´s SE - Polycount z.B. der Charaktere egal - das Level-Mesh muss optimiert sein (oder am besten gleich ein seperates(mit entityalpha 0)) - kann auch runde Textur-schatten - nicht für viele Objekte geeignet für viele Objekte mit kleinen Polycount besser ne Stencil-Engine EDIT: Es gibt auch ähnliche Schattensysteme im Codearchiv bb.com |
||
__wunschklang__ |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
100 objekte gibts auch mit stencil net, das ist komplett unrealistisch. das geht nur mit einer Shaderbasierenden Engine und ner gescheiten Grafikkarte. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Puccini |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm, das hab ich mir shcon gedacht :<
naja, aber ich brauch da halt ne engine bei der ich einstellen kann in welcher entfernung noch schatten erzeugt wrdensoll! das halt nicht alle 100 Objekte im level schatten werfen sondern nur die 20 die nahe am spieler sind! :< welche engines gibts denn noch die empfehlenswert sind? devil kenn ich und hab ich versucht, aber da is halt auch schnell schluss mit performance ... die ashadow hab ich noch nicht getestet. wie ist die? |
||
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM www.ragesoft.de Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39 |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mach doch erstmal ohne Schatten weiter, denn jede noch so schnelle Schattenengine wird mehr als einem lieb sein kann an der Performance ziehen. Von daher sollten Echtzeitschatten eh als Option angewendet werden und diese kann man dann genauso gut auch nachträglich einbauen.
Hier wurde noch eine andere als die von Devils vorgeschlagen. Kostet aber anscheinend 18 €. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
nils2771989 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also zu ashadow kann man sagen, dass die Schatten dort recht schnell sind, zumindest schneller als in der Devils-Shadow-Engine(100 Objekte sind aber trotzdem nicht möglich), Ashadow ist aber keine reine Schatten engine, man kann damit auch Glow, DoF, EVBM und so realisieren, jedoch ist sie teilweise recht verbuggt...
Dass entfernte Objekte nicht mehr schatten werfen ist aber auch glaub ich nicht möglich... Das größte Problem ist aber, dass bei Ashadow die Schatten unter Vista gar nicht funktionieren, da kann man machen was man will... mfg Nils |
||
Schummle nicht, aber spiele nach eigenen Regeln.
Sei nicht verrückt, sondern einfach nur wahnsinnig. Sei nicht böse, führ nur nichts Gutes im Schilde. Verändere dich nicht, bleib immer anders. |
![]() |
rctuner |
![]() Antworten mit Zitat ![]() |
---|---|---|
oft lese ich, dass die ashadow lib angeblich verbuggt ist. Was denn zum Beispiel?
Soweit meine Erfahrungen reichen sind alle "Bugs" einfach durch die Richtige anwendung der Lib beseitigt. |
||
[Y[our Film, Game ]M[akers and more [F]un!
www.Master-Entertainment.de.vu [AMD 6000+ X2 @ 6400+][2GB RAM][NVidia 8800GT 512 MB] |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
naja die kompatiblitätsprobleme und den nimmer existierenden support kannst du auch mit richtiger anwendung nicht lösen. die bugs die noch drin sind wollte der macher fixen bevor er verschwand.
und es gibt keine schattenengine die automatisch ausblendet. das musst du selbst festlegen wie das gemacht werden soll ... zb auch figuren die man garnicht sehen kann derzeit die brauchen dann auch keinen schatten zu werfen, selbst wenn sie im screen wären und so. das ist das gleiche wie mit partikelsystemen ... solche higher end visuals muss man IMMER aufs projekt optimieren. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Puccini |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmm, klingt ja auch ganz toll ![]() wenn es solche engines gibt, muss es doch auch möglich sein seine eigene zu schreiebn! sicher, man muss viel wissen, können und zeit haben, und das kann ich net. Könnte mir jemand nen link geben womit man arbeiten kann? also zB wie man eine lib schreibt die den stencilbuffer für b3d zugänglich macht? oder könnte es mir einer erklären? noch besser wäre natürlich wenn sich jemand findet der an meinem Projekt gern mitarbeiten würde :> seine erste aufgabe: entwickel eine schattenengine XD Naja, ich mach erstmal ohne schatten weiter :< Aber irgenwie muss es doch mögliich sein simple schatten einzubinden! mir reicht es wenn der schatten eines baumes erkennen lässt das da ein objekt steht XD so wie hier bei der karre: https://www.blitzforum.de/gallery/591/ da sind die konnturenauch unscharf. |
||
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM www.ragesoft.de Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39 |
![]() |
nils2771989 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja...das ist nicht mit einer Schattenengine gemacht, sondern mit einer Lightmap, also einfach eine Vordefinerte Textur die Schattenwurf vortäuscht...die werfen nicht wirklich Schatten, es sieht nur so aus...
Das kann man dann aber nicht dynamisch, sondern nur mit festen Lichtquelle(n) und nicht beweglichen Gegenständen machen... Dann müssten aber noch die Schatten von den Objekten, die sich bewegen (warscheinlich Spieler) gezeichnet werden, das sind ja warscheinlich nicht so viele, dass das den PC überlastet(meistens) Edit: Mal so eine Frage nebenbei: Die Swift Schadow Engine benutzt ja die Shadowmapping-Methode zur Berechnung der Schatten, also wird ein Tiefenbild aus der Sicht des Lichtes gerendert und dann beim Rendern der Szene wird geprüft, ob das gesehene Pixel nun von der Lichtquelle weiter weg ist, als im Tiefenbild gespeichert, wenn dies der Fall ist liegt das Pixel also im Schatten. Aber hat diese Art der Schattenberechnung nicht im allgemeinen eine Begrenzung, was die Entfernung angeht? denn das Tiefenbild kann ja nicht unendliche Ausmaße habe...und bei einer großen Weitsicht müsste das Tiefenbild ja riesig sein... Mfg Nils |
||
Schummle nicht, aber spiele nach eigenen Regeln.
Sei nicht verrückt, sondern einfach nur wahnsinnig. Sei nicht böse, führ nur nichts Gutes im Schilde. Verändere dich nicht, bleib immer anders. |
klepto2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Einfaches Shadowmapping kann nur für gerichtete Lichter verwendet werden, es kann aber etwas getrickst werden in dem man die Lichtquelle weiter weg setzt. Dadurch werden aber die Schatten undeutlicher (pixeliger). Um das mit den gerichteten Lichtern zu Umgehen wird entweder eine Cubic depthmap oder eine Dual Paraboiled Depthmap genommen und auf die scene projeziert. Dank der heutigen Möglichkeit eine Scene direkt in einen extra buffer zu rendern kann man dort je nach auflösung Tiefenmaps bis zu 4096*4096 verwenden (natürlich sehr langsam). das problem mit der Pixeligkeit hat folgenden grund :
Wie ja chon erwähnt werden die Depthmaps aus sicht des Lichtes aufgenommen. Das heißt je weiter das Licht weg ist, desto kleiner die Anzahl der Pixel die für ein Schattenobjekt zur verfügung stehen. Um das wieder zu verhindern gibt es auch wieder verschiedene Möglichkeiten, die aber im Prinzip alle auf demselben Prinzip basieren. Das einfachste ist die erstellung einer sog. Perspective Shadowmap, dabei wird der Aufnahme Bereich des Lichtes in Zusammenhang mit dem Kamera Frustum gesetzt und nur die Objekte im Frustum bekommen Pixel zugeordnet. Die nächste Möglichkeit ist die Depthmap zu splitten, also es werden mehrere Maps mit einer bestimmten auflösung berechnet. Die aktuellste Methode ist eine Mischung der beiden letzteren Methoden. Durch die Verwendung von Shadern ist da auch Softshadowmapping möglich. 100 Objekte sind auch mit Stencil kein Problem, wenn man entweder nur statische Objekte und statische Lichter verwendet oder Shader zur extrusion verwendet.Dann werden die Volumes nur einmal erstellt. Stencil Shadows sind aber für Dinge wie Bäume etc nicht geeignet, da es nur ein reines Abbild der Geometrie darstellt. Also bei einem Baum werden die Quads projeziert und nicht die maskierten Texturen. Für Objekte mit Alphamaps oder Maskedmaps sind Stencilshadows also ungeeignet. |
||
Matrix Screensaver
Console Modul für BlitzMax KLPacker Modul für BlitzMax HomePage : http://www.brsoftware.de.vu |
![]() |
Puccini |
![]() Antworten mit Zitat ![]() |
---|---|---|
also, ich hab eine sich langsam bewegente sonne...
also is net in jedem frame die aktuallisierung nötig (nur vom player und von gegnern) es muss doch irgendwie möglich sein damit was anzustellen XD - nur Objekte in bestimmtem Radius mit schatten - nur Player und sich bewegende objekte jedes frame oder jedes 2. aktualliesiren - grobe schatten.. keine ahnung :y das mit den lightmaps hab ich mir schon so gedacht... wird leider nix für mich |
||
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM www.ragesoft.de Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group