Lightmap-Problem

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

INpac

Betreff: Lightmap-Problem

BeitragSa, Jan 31, 2004 12:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi.
Ich habe ein problem mit einer simplen Art einer Schatten-Engine.
Das Prinzip basiert auf einem Codeschnipsel von Norc/jfk aus dem engl. Codearchiv.
Und zwar wird eine Kamera an die Stelle der Lichtquelle gebracht, die ClsColor auf weiß gestellt und alle Entities, die Schatten werfen sollen, bekommen FX 1 und scharze Color.
Wenn man nun mit der Kamera in die Lightmap rendert, die als Multitextur auf das Objekt gelegt wird, ist die Lightmap nur so lange korrekt, bis die schattenwerfenden Entities eine Textur besitzen.

Nunn hab ich gedacht, ich gehe jeden Pixel der Map durch, wenn der Pixel nicht die Farbe $FFFFFF / weiß hat, wird an diesem Pixel die Shadow-Farbe (zB Schwarz = $000000) aufgebracht.
Dieses Prinzip ist vielleicht "etwas" lahm, aber mir fällt sonst nichts ein.

So würde das dann aussehen:

Code: [AUSKLAPPEN]

lockbuffer texturebuffer(map)
for x = 0 to lightmap_W
for y = 0 to lightmap_W
  col = readpixelfast (x,y,texturebuffer(map))
  if col <> $FFFFFF then writepixelfast x,y,$000000, texturebuffer(map) next
next


(ist jetzt nicht aus dem code direkt kopiert, stellt aber genau das prinzip da)
Eigentlich müsste das ja jetzt schön klappen, aber die Texturen werden immer noch in der Shadowmap eingezeichnet Sad

Kann mir da jemand helfen oder ein anderes Prinzip sagen, damit keine Texuren in der Lightmap zu sehen sind?
 

lettorTrepuS

BeitragSo, Feb 01, 2004 10:42
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.

x-pressive

BeitragSo, Feb 01, 2004 11:48
Antworten mit Zitat
Benutzer-Profile anzeigen
@ShadowTurtle: wie kann man denn mit B3D direkt in eine Textur rendern? Soweit ich weiß rendert RenderWorld() nur direkt in den Backbuffer...
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

Suco-X

Betreff: .....

BeitragSo, Feb 01, 2004 12:26
Antworten mit Zitat
Benutzer-Profile anzeigen
CopyRect rendert unter anderem direkt in eine Textur.
Zu deinem Problem Inpac : EntityColor 0,0,0 klappt bei mir auch mit texturen. Der fehler liegt bei dir wo anders.
bye
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB
 

lettorTrepuS

BeitragSo, Feb 01, 2004 12:32
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group