Kamera-Schatten-Problem

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

AcidRain

Betreff: Kamera-Schatten-Problem

BeitragSo, März 18, 2007 10:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe versucht, Schatten,die mit Hilfe einer zweiten Kamera erstellt werden ,in mein Game zu integrieren...Wie gesagt ich habs versucht.^^
Das Rendern des Kameraschattens auf die Textur,die auf der Map liegt,funktioniert.
Das Problem:
Die Ganze Map wird bei einem z.B. dunkler werdenden Schatten dunkler.
Auch wenn ich die Textur scale,bleibt der Effekt bestehen.
Hier der Code:

Vor der Schleife:

Code: [AUSKLAPPEN]

Global ts_s = 512
Global gfx_tshadow = CreateTexture(1,1,1+256) : ScaleTexture gfx_tshadow, ts_s, ts_s : TextureBlend gfx_tshadow,2

EntityTexture Terrain, gfx_tshadow,0,2


Die Funktion:

Code: [AUSKLAPPEN]

Function UpdateShadows()
      HideEntity Kamera
      cam = CreateCamera()
      PositionEntity cam,EntityX(Kamera),EntityY(Kamera)+200,EntityZ(Kamera);.2*TerrainSize(terrain),100,TerrainSize(terrain)*.2
      CameraProjMode cam,2
      CameraZoom cam,1.000/128/2.5*2
      

      RotateEntity cam,90,0,0
      
      CameraFogMode cam,1
      CameraFogColor cam,45,55,70
      CameraFogRange cam,0,0
      CameraClsColor cam,255,255,255
      CameraRange cam,1,270
      
      HideEntity Terrain

      
      CameraViewport cam,0,0,ts_s,ts_s
      RenderWorld
      ;Color 255,255,255
      ;Rect 0,0,ts_s,ts_s
      ;Color 255,0,0
      ;Rect ts_s/2-32,ts_s/2-32,64,64
      CopyRect 0,0,ts_s,ts_s,0,0,BackBuffer(),TextureBuffer(gfx_tshadow)
      
      ShowEntity Terrain

      
      FreeEntity cam
      ShowEntity Kamera
      
      ScaleTexture gfx_tshadow, 1,1
      PositionTexture gfx_tshadow,0,0
      ScaleTexture gfx_tshadow, 64,64
      PositionTexture gfx_tshadow,.5+EntityX(Kamera)/128/5*2,.5-EntityZ(Kamera)/128/5*2;0,0
      TextureBlend gfx_tshadow, 2

End Function




MsehrfG
AcidRain

NightPhoenix

BeitragSo, März 18, 2007 10:58
Antworten mit Zitat
Benutzer-Profile anzeigen
keine ahnung....
bloß noch ne rein formale sache... in deiner function Updateshadows() steht jedes mal zum Anfang cam=createcamera()
Also wird jedesmal ne neue Kamera erstellt... meinst du nicht einmal reicht undzwar mit global cam=createcamera() in der Ladeschleife Wink
nur ein kleiner Tipp

AcidRain

BeitragSo, März 18, 2007 14:00
Antworten mit Zitat
Benutzer-Profile anzeigen
thx für den Hinweis,hab ich ganz übersehen... Embarassed

Problem gelöst-hatte mit meinem vorherigen code zu tun...

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group