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:
4442018
Jetzt (Chat):
30 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-
"Terrain Selfshadowing" von Oliver Düvel (Oliver Düvel)


Salute,
das Image zeigt einen Berg :D. Der wurde aus einer einfachen Heightmap als Trianglestrip erstellt. Oben rechts seht ihr die kleine Sonne, das ist der gelbe Punkt der zeigt einfach an aus welcher Richtung die Sonne scheint. Die einzelnen Faces vom Terrain wurden entsprechend ihrem Winkel zur Sonne beleuchtet. Das geht mit einem einfachen Punktprodukt. Unten links im Bild könnt ihr den Schatten des Berges erkennen. Der wird wie folgt berechnet:
1. alle einzelnen Vertices durchlaufen.
2. von jedem Vertex einen Strahl zur Sonne schicken.
3. prüfen ob der Strahl zur Sonne von einer Höheninformation aus der Heightmap überboten wird.
4. wenn der Strahl also nicht bis zur Sonne geht, dann wird ein dunkles Ambientes Licht gesetzt.

Das ist schon alles.

Gruß, euer Oliver






Von Blade am 29.07.2002, 23:06:08 Uhr
Der Schaten siht geil aus. Auf was fürn Rechner leuft das.

@Oliver Düvel
Wird das fehlende ITOW nachgeliefert :D

Von ChrisM am 29.07.2002, 23:18:41 Uhr
Das Bild sieht cool aus, Respekt!

ChrisM

Von Patrick am 29.07.2002, 23:38:17 Uhr
jo sieht sau geil aus =)

Von Blade am 29.07.2002, 23:49:39 Uhr
Noch ne Frage :)
Läst du das Dynamisch berechen den Schatten oder nur einmal an anfang.

Von Oliver Düvel am 30.07.2002, 00:54:56 Uhr
Hi,

danke für euer Lob :D.

Die Beleuchtung wird einmal zu beginn gemacht, es ist ein ziemlicher Rechenaufwand. Der Rechner ist ein einfacher PIII450 mit einer G3 128mb gewesen und die FPS von 84 ist wegen dem VSYNC. Da dies aber nur eine einfache Heightmap mit Textur und vorberechneter Beleuchtung durch die Vertices ist, sollte die Performance überall stimmen. Könnte mein TI36Solar auch OpenGL, dann dürfte sie dort nicht unter 42 sinken :D. Das basiert übrigens auf dem Basecode aus meinem OpenGL-Tutorial.

Gruß
Oliver

Von Blade am 30.07.2002, 01:00:08 Uhr
Wieviele Vertics hat das Teil und wie bekommt man den Weichen Schatten hin?

Von ONeinONeill am 30.07.2002, 08:44:41 Uhr
Hi,

cooles Pic. Werden aber auch ma Bilder von Spielen gezeigt und nicht nur sowas von den Admins?

Von Stefan Zerbst am 30.07.2002, 09:25:58 Uhr
Hi,

@ONON
Bilder von kommerziellen Spielen zeigen wir keine. Bilder von Euch würden wir gerne zeigen...es mangelt aber an Material... :rolleyes:

Ciao,
Stefan

Von darkwing duck am 30.07.2002, 14:22:35 Uhr
Dann würde ich mal vorschlagen, dass ihr alle eure besten Bilderchen sendet und dann haben der Admin und die Moderatoren mehr Material!!! :D

Von mastervc am 30.07.2002, 15:31:39 Uhr
hehe nächsten montag kommt was neues keine sorge :)

Von TheWanderer am 30.07.2002, 17:26:44 Uhr
Hi!

Blade schrieb:
Zitat:
...und wie bekommt man den Weichen Schatten hin?



Oliver schrieb:
Zitat:

1. alle einzelnen Vertices durchlaufen.
2. von jedem Vertex einen Strahl zur Sonne schicken.
3. prüfen ob der Strahl zur Sonne von einer Höheninformation aus der Heightmap überboten wird.
4. wenn der Strahl also nicht bis zur Sonne geht, dann wird ein dunkles Ambientes Licht gesetzt.


@Blade:

Nicht nur Bildchen anschauen, sondern auch lesen was drunter steht ;)

cya...TheWanderer

Von Einfachkrank am 30.07.2002, 19:02:57 Uhr
Einfachkrank :D
Respekt !!!

Von Chrisneonix am 30.07.2002, 20:59:54 Uhr
Hi, also erstmal sachich "RESPEKT"
sieht echt krazz aus!

aber kannst du mir mal verraten wie das funktioniert mitdem

"wenn der strahl nich die sonne erreicht?"

meinst du damit dass du den vector dafür berechnest, und pixel für pixel überprüfst oder wie?

cu

Von Oliver Düvel am 30.07.2002, 21:59:23 Uhr
Salute,

@Blade: Das ist eine 128*128 Heightmap, dürfte also so aus dem Kopf berechnet ca. 16.000 Triangle sein. Die sind in einem Vertex Array untergebracht. Das der Schatten an den Rändern zusätzlich weich aussieht, ist ein 'Mitbringsel' des Vertexlightnings. Ein Face (Triangle) hat immer 3 Vertices und wenn du jeweils für ein Vertex eine andere Farbe angibst, siehe mein Tutorial, dann bekommst du einen Farbverlauf. Also wenn jetzt 2 von den 3 Vertices im 'normalen' Licht sind und einer im Schattenbereich, dann hast du automatisch und ohne das du das willst einen weichen Rand.

@Chrisneonix: Du gehst durch alle Pixel und schiest von diesem aus einen Strahl in Richtung Sonne, die Sonnenposition ist ja eindeutig definiert, oder sollte es sein. Da du den Vertex im Koordinatensystem hast und auch die Sonne im Koordinatensystem ist eine Strahl recht einfach zu berechnen. Dann wanderst du von dem Vertex den du überprüfen willst einfach Pixel für Pixel in Richtung Sonne und schaust nach ob an der Pixelposition der berechnete Höhenwert aus der Heightmap grösser als deine aktuelle Strahlenposition auf Y. Mehr nicht. Mal wieder ein Beweis das es doch alles vieel einfacher ist als man zuerst denkt :)

@ONON: Wenn mal so viele Einsendungen kommen, das wir ein IOT D machen könnten, dann machen wir das auch. Ebend sah / sieht es eher nach einem IOT M aus. Und daher müssen wir euch halt solange mit unseren Bildern quälen, das kann ich bestimmt noch bis in die nächste ICEAGE :).

Gruß
Oliver

Von _o9_ am 31.07.2002, 11:03:50 Uhr
@Oliver:
Weiter so:)

Als Sonne würde ich eine parallele lichtquelle nehmen. Die ist auch schneller zu berechnen. Anstatt den strahl dann gegen pixel zu testen würde man die dreiecke nehmen. Um das ganze noch zu beschleunigen, solltest Du einen Quad- oder Oktree verwenden und nur die Dreiecke gegen den Lichtstrahl testen, die auch als schattenspender in frage kommen.

gruß
_o9_

Von Tanubi am 31.07.2002, 13:47:33 Uhr
Ich glaub, er testet das gegen jeden Pixel der Heightmap, nich gegen jeden Pixel des Terrains. Zumindest hab ich das so verstanden.

blutigerAnfaenger

Von joerg am 31.07.2002, 17:00:30 Uhr
Blade :

Soft Shadows normalerweise nur, in dem du mehrere Rays mit minimalen Abweichungen von der Ausgangsposition durch die Gegend schickst (Softsampling) und nicht wie Oliver es gemacht hat einen einzigen. Daß die Schatten dennoch weich aussehen liegt an der Interpolation auf der Lightmap. Bei entsprechend hoher Auflösung würde der Schatten hart aussehen.

Von Blade am 31.07.2002, 19:00:23 Uhr
Oliver Düvel arbeit ja mit Diffuse Color(Heist das so in GL) da hat er ja ein Farbverluf zwischen den einzelnen Vertex.

Von Oliver Düvel am 31.07.2002, 23:16:26 Uhr
Hi,

@_09_: Ich hab das nur geschrieben um mal zu testen wie das mit dem Schatten geht und ausserdem hatte ich an einem verregneten Sonntagnachmittag nichts zu tun. QUAD/OCTREE macht also daher in dem Projekt keinen grossen Sinn. Die Berechnung der Schattenbereich lief über die Pixel aus der Heightmap, nicht aus den Screenpixeln wie es blutigerAnfaenger sacht.

@joerg: Es ist ja nur eine einfache Vorbeleuchtung auf Vertexebene und hat keine Lightmap die drüber gelegt wurde. Das der Schatten so weich ist, liegt einzig daran, das dank dem Gouraudshading die Vertices von hell nach dunkel verlaufen. Wenn also die Auflösung höher ist, dann erkent man diesen Dimmeffekt, aber keinen harten Schatten.

@Blade: Du meinst ungefähr das richtige (Farbverlauf). Das die Vertexfarben für die Vorbeleuchtung genutzt werden können, liegt an dem ausgeschaltetem Licht.

Gruß
Oliver

Von Blade am 31.07.2002, 23:22:47 Uhr
@Oliver Düvel Setzt du es als Open Source?

Von Oliver Düvel am 31.07.2002, 23:27:15 Uhr
@Blade: Sowas _könnte_ sich in einem _zukünftigen_ Tutorial wieder finden...

Von Maxim am 01.08.2002, 09:32:38 Uhr
@Oliver Düvel

Über ein Tutorial mit diesem Thema würde ich mich sehr freuen!

Bye,
Maxim

Von ONeinONeill am 02.08.2002, 16:24:31 Uhr
@Stefan

Ich habe schon mit Spech gesprochen und sowohl er als auch ich haben dir etwas geschickt. :-/ Vieleicht sind die beiden Bilder ja untergegangen, aber eigentlich sollten sie das net. Naja, beide Games sind aber jetzt schon released! :) ;)

Von Stefan Zerbst am 02.08.2002, 20:18:35 Uhr
Hi,

wie bereits erwähnt (siehe Off Topic festgemachter Thread) haben wir absolut keine Bilder in den letzten Wochen erhalten und haben im Moment nichts mehr. Der Provider hat anscheinend die .de eMail Adressen vernichtet :(

Also sendet die Sachen bitte nochmal...

Ciao,
Stefan

Von TomCat am 03.08.2002, 10:33:32 Uhr
Hi,

@Zerbie:
was mich interessieren würde:
Wie heisst denn der alte Provider, und zu welchem Provider soll denn
jetzt gewechselt werden ?

Ich meine, eine Datenbank auf NULL zu setzen ist ja schon ein Ei.
Man stelle sich mal vor, bei Siemens würden, mir nichts dir nichts, einfach
mal eben alle Datenbanken auf NULL gesetzt werden.

Ciao,
TomCat:)

Von Stefan Zerbst am 03.08.2002, 16:48:12 Uhr
Hi,

@TomCat
www.hostsupport.de ist der Provider. Ist anscheinend nur eine Zwei-Mann Klitsche, die sich auch nur im normalen Telefonbuch unter den Privatnamen der Typen findet. Den KK Antrag haben sie, wie bereits erwähnt, einfach mal eben abgelehnt und vertrösten am Telefon mit Problemen ihrer Subunternehmer.

Aber ab Ende nächster (Fristablauf) mischt auch die DENIC dann mit, das wird dann hoffentlich schneller gehen.

Ciao,
Stefan

Von TomCat am 04.08.2002, 21:22:32 Uhr
@Stefan Zerbst:

Also ich bin bei 1&1. Früher hiess das Puretec
http://www.puretec.de
Bin jetzt nicht der Experte, was Provider anbelangt.(Macht ein anderer
in der Firma)
Puretec erschien uns damals sehr professionell.
Ich finde aber, man sollte da schon aufpassen. Wenn so ein Provider
pleite macht, kann es passieren, dass man seine Domain verliert !!
Das bekommt man erst gar nicht mit, man bezahlt weiter seine
Beiträge, und der Provider zahlt nicht mehr an DENIC...

So ein Datenbank-Verlust darf einfach überhaupt nicht passieren !!
Das ist völlig untragbar.
Das hätten die bei mir einmal gemacht, und das wär's dann gewesen.

Kümmert sich dein neuer Provider nicht um den Domain-Umzug ?

ciao,
TomCat:)

PS: Dieser Post passt eigentlich nicht ins IOTW-Forum, da er sich nicht
aufs Bild bezieht. Kannst ihn ja rauslöschen, wenn du ihn gelesen hast.:)

Von Oliver Düvel am 04.08.2002, 22:27:35 Uhr
Hi,

@TomCat: Der neue Provider ist ebenfalls 1&1, die scheinen deutlich kompetenter zu sein, auch was die Sicherheit (DB hinter der Firewall) anbelangt.

Gruß
Oliver

Von Mayhem am 05.08.2002, 16:34:40 Uhr
@Oliver Düvel:

Hey, Du machst die Beleuchtung genau wie ich. (
http://www.untergrund-spiele.de/bdt.php?bdt_id=146
und
http://www.untergrund-spiele.de/bdt.php?bdt_id=200 )
Schaut echt gut aus. Sind die Farben per Vertex oder ist das eine Textur ?

Von Oliver Düvel am 05.08.2002, 19:22:06 Uhr
Hi Mayhem,

deine Bilder sehen wirklich sehr gut aus, alle Achtung.
Es ist eine einfache Textur über das Mesh gespannt war ja nur mal ein Test, wie das so mit dem Schatten funktioniert.

Gruß
Oliver