Seite 1 von 1

Irrlicht: Schatten löschen?

Verfasst: 30.01.2009 23:29
von Max_der_Held
Hallo Forum, :)

Ich bin gerade dabei, den Schatten in Magical Twilight vollständig zu implementieren und bin (wie vorher auch schon) auf das problem Löschens eines Schattennodes gestoßen.

Frage: wie lösche ich einen Schatten? (ohne nur einzuFRIEREN)

FELHER:
(Hierbei FREEEZED der Schatten und bleibt als schwarzer Fleck in der Landschaft zurück)

Code: Alles auswählen

Shadow = IrrAddNodeShadow( *SceneNode ,1,1)
IrrRemoveNode( Shadow)
sieht dann nach mehrmaligem löschen und neuerstellen des schattens per tastendruck so (übel) aus:
Bild

für alle, dies nachtesten wollen:

DOWNLOADSchattenEXE.ZIP

Mit LEER wird schatten gelöscht, mit nochmnal LEER wird er wieder angezeigt (bzw. neuer dazugemacht)

ps: evtl kann ich den schatten vorm Löschen verstecken mit

Code: Alles auswählen

irrsetnodevisittility(schatten,0)
aber ob des dann nicht im speicher hängenbleibt und dann alles überfüllt.... ?

Verfasst: 31.01.2009 19:24
von Max_der_Held
hm.. wenn man das Node löscht ist derr Schatten jedenfalls auch weg.. also werd ich ihn einfach verstecken, bei entfernten objekten und dann mit dem Node löschen, wenns zu weit weg ist...

die Frage scheint wohl evtl auch schon zu sehr spezifisch zu sein..

Verfasst: 01.02.2009 22:12
von xperience2003
wie wird denn der schatten erstellt?...wird irgendwie der stencilbuffer nich geloescht?

Verfasst: 02.02.2009 14:52
von Thalius
ist ein stencil buffer shadow imo noch (denk dran TnL hat ne Pipeline für max 8 Lichter - alles andere musste mit Shadern machen).

NodeObjekt welches den Schatten erstellt einfach hiden - Add shadow fügt den node in der stencil liste ein. Der Einfachheit halber so gestaltet - node sichtbar schatten an /aus - node unsichtbar -> kein schatten.

Thalius

Verfasst: 03.02.2009 23:07
von Max_der_Held
ah ok. thx ;)
also sollten sich keine Schattenberge im Speicher anhäufen ^^ ;)
(denk dran TnL hat ne Pipeline für max 8 Lichter - alles andere musste mit Shadern machen).
So viele dunkle flecken wollt ich eh nicht haben ^^ 2 würden maximal reichen.

Allerdings wird evtl bei der 1. beta auf shader umgestiegen, da der geometrie-schatten ab und zu (bei landschaften, also "eigenschatten" z.b. Berghang im Dunkeln) hinter der Oberfläche verschwindet..

mfg

Max

ps: mit einer Beta ist evtl. in 2 Wochen bzw. 3 Wochen zu rechnen. (wenn nichts dazwischenkommt ;) ^^ )