Schatten

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Goldini

Betreff: Schatten

BeitragMi, Jan 31, 2007 9:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
kann mir irgendjemand sagen wie ich einen schatten machen kann?(3d)
Hoffe ihr könnt mir helfen.

Mfg
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy
 

Problemchen

BeitragMi, Jan 31, 2007 10:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Goldini2,
schau doch mal unter http://www.dc.chat-blitz.de/de...Index.html nach, da wird dir geholfen...
Viel Spaß noch wünscht
Problemchen

Goldini

BeitragMi, Jan 31, 2007 21:13
Antworten mit Zitat
Benutzer-Profile anzeigen
wie kann ich die userlib verwenden wenn ich nicht mal die befehle weis???
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy

NightPhoenix

BeitragMi, Jan 31, 2007 21:16
Antworten mit Zitat
Benutzer-Profile anzeigen
normalerweise liegen die befehle in einer readme datei bei... deswegen heißts ja so:
readme=lies mich!

solche stencilshadows saugen aber sauviel FPS... das sollte dir klar sein... musst mit nur noch 15 - 40 FPS rechnen

Goldini

BeitragMi, Jan 31, 2007 21:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Gut ich verzichte auf Schatten Very Happy
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy

NightPhoenix

BeitragMi, Jan 31, 2007 21:30
Antworten mit Zitat
Benutzer-Profile anzeigen
achja... für statische schatten gibts noch sogenannte lightmaps, die wie texturen auf objekte gelegt werden
mfg.
 

Problemchen

BeitragMi, Jan 31, 2007 23:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Lade doch vielleicht erstmal die Lib runter bevor du ein Urteil wagst, aus dem Bauch heraus FPS schätzen zählt wohl nich' und... Rolling Eyes
Dort sind Beispiele mit bewegten Meshes dabei die mit einer GF5 mit 80-110FPS im Fenster laufen. Meiner Meinung nach beste kostenlose Schattenlib für BB. Sollte man natürlich nicht für statische Objekte einsetzen, da sind die Lightmaps besser => Giles oder selber coden.
Problemchen

Goldini

BeitragDo, Feb 01, 2007 9:12
Antworten mit Zitat
Benutzer-Profile anzeigen
die beispiele gehen bei mir nicht.
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy
 

Dreamora

BeitragDo, Feb 01, 2007 9:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du die Userlib und Decl an den richtigen Ort kopiert?
(geht nicht ist keine akzeptable Antwort in einem Programmierforum da sie genau 0 Aussage hat darüber hat was das Problem ist!)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

NightPhoenix

BeitragDo, Feb 01, 2007 17:00
Antworten mit Zitat
Benutzer-Profile anzeigen
die fps zahlen sinken dafür aber in spielen auf solche werte, wo nicht nur paar objektchen mit paar lausigen funktionen dargestellt sind... ich meinte die 15-40fps eher bei spielen wie egoshootern oder rollenspielen wo man eben mal schnell 1km² mapgröße hat, mit vielleicht 50 gebäuden und 400 objekten.... ob dann überhaupt noch 15 fps annähernd erreicht werden?
leider kann ich's nicht testen weil ich nur die demo hab und die hat ein zeichenanzahl limit... die feststellung beruht auf erfahrungsberichten Wink

*edit*
wenn mal jemand testen könnte wo die grenzen der schattendarstellung liegen... wieviele objekte/polygone maximal bis die fps unter 30 FPS sinken?
ich hab einen Athlon64 3000+ / geforce 6600GT / 1024mb ddr dual-mode / gigabyte k8nf-ultra mainboard

wäre echt mal interessant zu wissen wie leistungsfähig das ganze ist... soweit ich weiß verwendet ja doom3 auch das stencilshadow system.
mfg.
  • Zuletzt bearbeitet von NightPhoenix am Do, Feb 01, 2007 17:08, insgesamt einmal bearbeitet

Goldini

BeitragDo, Feb 01, 2007 17:03
Antworten mit Zitat
Benutzer-Profile anzeigen
so jetzt gehen die Beispiele aber wie kann ich jetzt Schatten machen?
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy
 

Todeskop

BeitragDo, Feb 01, 2007 17:12
Antworten mit Zitat
Benutzer-Profile anzeigen
wtf im ernst ma such im forum.....aber gut will ich ma nich so sein....1 du nimmst die schatten engie z.b. von devilsystems und guckst dir die befehle an da stehts dann drin aber sag dir gesagt seit es ist verdammt rechen aufwändig.Ps: alternativ kannste auch steptigers und wildstorms engine nehmen ist auch im forum zu finden.
 

Problemchen

BeitragDo, Feb 01, 2007 19:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Stencil Schatten sollte man auch nur im Nahbereich für zB. die feinste Lod-Stufe der nichtstatischen Entitys nehmen. Weiter weg reicht ein grauer Fleck und noch weiter weg isses eh' egal, da greift die Terrainlightmap. BF1942 blendet den Schatten aus, wenn der Panzer aus dem Nahbereich fährt. Somit sind vielleicht wenn es hoch kommt 10-30 bewegte Objekte zu schattieren. Die werden bei der Lod Berechnung als Caster/Receiver neu definiert und fertig.
Achtet mal beim nächsten Stadtrundgang und leicht sonnigem Himmel, wie weit man tatsächlich 'echte' Mechschatten braucht, das sind auf keinen Fall 1qkm,lol... <= sry.
Problemchen

Goldini

BeitragFr, Feb 02, 2007 20:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Nun hab ich ne schöne Schatten Engie.... allerdings immer wenn ich auf den Terrain bin, sodas ich über der Fläche bin stürzt das ganze Programm ab.... Crying or Very sad
Der problem Code: [AUSKLAPPEN]


Graphics3D 1280,1024,32,2
SetBuffer BackBuffer()

Include "Includes/StencilEngine.bb"

Const PLAYER=1,SCENE=2
Collisions PLAYER,SCENE,2,3

sun=CreateLight(2)PositionEntity sun,0,600,0
CreateStencilLight(sun)

cam=CreateCamera()PositionEntity cam,0,5,-12
CameraClsColor cam,0,0,0
CameraRange cam,1,50000

fighter=LoadMesh("gfx/x wing.3ds")RotateEntity fighter,-90,0,0
EntityParent cam,fighter
EntityType fighter,PLAYER
EntityPickMode fighter,2,1
EntityRadius fighter,4,1
SetShadowMesh(fighter, True, True, True, False)
bf=LoadMesh("gfx/back_fire.b3d")
bftex=LoadTexture("gfx/heck_fire.png",2+16+32)
EntityTexture bf,bftex
EntityParent bf,cam


World=LoadTerrain("gfx/hmap.bmp")PositionEntity world,-6400,0,-6400
ScaleEntity world,100,1000,100
wtex=LoadTexture("gfx/snow01.jpg")
EntityTexture World,wtex
EntityType World,SCENE
TerrainDetail world,100,True

InitShadows(cam, sun, .25)
SetShadowMesh(world, False,True)

Global speed#=0

Global roll#=0

Global dis=0

Global sv=1

MAX_FPS=100
FPS_TIME#=1000./MAX_FPS

While Not KeyHit(1)

   While MilliSecs()<nextfps#:Delay nextfps#-MilliSecs()-.5:Wend:nextfps#=MilliSecs()+FPS_TIME#

If KeyDown(203) Then TurnEntity fighter,0,-1,-1 : roll#=roll#+1
If KeyDown(205) Then TurnEntity fighter,0,1,1
If KeyDown(200) Then TurnEntity fighter,1,0,0
If KeyDown(208) Then TurnEntity fighter,-1,0,0

If KeyDown(54) And speed#>-10 Then speed#=speed#-.1
If KeyDown(157) And speed#<-.1 Then speed#=speed#+.1

MoveEntity fighter,0,speed#,0

   If KeyHit(57) Then sv=sv+1:If sv=3:sv=0:EndIf

   If dis=0 Then Render(sv,1,1)

If KeyHit(17) Then wire=Not wire
WireFrame wire

   If dis=1
      UpdateVolumes(sun)
      RenderWorld
   EndIf

UpdateWorld


Text 70,120,TrisRendered()


   fps#=(19.*fps#+(1000./(MilliSecs()-lastfps)))/20.
   z#=0
   If fps#=1/z# Then fps#=(1000./(MilliSecs()-lastfps))
   lastfps=MilliSecs()

   Flip 0
Wend

ClearWorld
End


Selbst mit niedriger Auflösung geht's auch nicht. Crying or Very sad

Mfg Goldini2
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy
 

Todeskop

BeitragSa, Feb 03, 2007 6:40
Antworten mit Zitat
Benutzer-Profile anzeigen
bin mir nicht sicher aber mir fällt direkt ins auge das du die renderart da wächselst versuch das ma weg zu machen, weil ich glaub nicht das du einfach so(mittendrinn) render methoden tauschen kannst.

Goldini

BeitragSa, Feb 03, 2007 8:10
Antworten mit Zitat
Benutzer-Profile anzeigen
In diesem Programm geht's

Code: [AUSKLAPPEN]
Include "StencilEngine.bb"

Graphics3D 1024, 768, 32, 2
SetBuffer BackBuffer()
SeedRnd MilliSecs()

;Camera
Cam = CreateCamera()
PositionEntity Cam, -5, 5, -5
piv=CreatePivot()
PositionEntity piv,0,3,0
PointEntity Cam, piv
CameraRange Cam, .1, 1000

;Caster
Caster = LoadMesh("Media\M4.b3d")
ScaleEntity Caster, .2, .2, .2
PositionMesh Caster, 0, -1.5, 0
PositionEntity Caster, 0, 4, 0
EntityColor Caster, 50, 255, 50
SetShadowMesh(Caster, True, True, True, False)

;Light
Light = CreateLight()
PositionEntity Light, .3, 8, .3
PointEntity Light, Caster
CreateStencilLight(Light)

;Shadows
InitShadows(Cam, Light, .25)

;Floor
c = CreateTerrain(128)PositionEntity c,-64,0,-64
For i=0 To 100
ModifyTerrain c,Rnd(128),Rnd(128),Rnd(1)
Next
ScaleEntity c, 5, .5, 5
EntityColor c, 100, 110, 255
SetShadowMesh(c, False,True)

dis=0
sv=0

MAX_FPS=100
FPS_TIME#=1000./MAX_FPS

While Not KeyHit(1)

   While MilliSecs()<nextfps#:Delay nextfps#-MilliSecs()-.5:Wend:nextfps#=MilliSecs()+FPS_TIME#

   ms = ms + 1
   RotateEntity Caster, ms, ms, ms

   ;If dis=0 Then Render(sv,1,1)

   If KeyHit(57) Then sv=sv+1:If sv=3:sv=0:EndIf

   If KeyHit(2) Then sv=0
   If KeyHit(3) Then sv=1
   If KeyHit(4) Then sv=2

   If dis=1
      UpdateVolumes(Light)
      RenderWorld
   EndIf

   Text 0,0,fps#
   Text 0,20,TrisRendered()
   
   fps#=(19.*fps#+(1000./(MilliSecs()-lastfps)))/20.
   z#=0
   If fps#=1/z# Then fps#=(1000./(MilliSecs()-lastfps))
   lastfps=MilliSecs()
   
   
   Flip 0

Wend
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy
 

timmeTheOnly

BeitragSa, Feb 03, 2007 9:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Versuch das hier...

Code: [AUSKLAPPEN]


Graphics3D 1280,1024,32,2
SetBuffer BackBuffer()

Include "Includes/StencilEngine.bb"

Const PLAYER=1,SCENE=2
Collisions PLAYER,SCENE,2,3

sun=CreateLight(2) : PositionEntity sun,0,600,0
CreateStencilLight(sun)

cam=CreateCamera() : PositionEntity cam,0,5,-12
CameraClsColor cam,0,0,0
CameraRange cam,1,50000

fighter=LoadMesh("gfx/x wing.3ds") : RotateEntity fighter,-90,0,0
EntityParent cam,fighter
EntityType fighter,PLAYER
EntityPickMode fighter,2,1
EntityRadius fighter,4,1
SetShadowMesh(fighter, True, True, True, False)
bf=LoadMesh("gfx/back_fire.b3d")
bftex=LoadTexture("gfx/heck_fire.png",2+16+32)
EntityTexture bf,bftex
EntityParent bf,cam


World=LoadTerrain("gfx/hmap.bmp") : PositionEntity world,-6400,0,-6400
ScaleEntity world,100,1000,100
wtex=LoadTexture("gfx/snow01.jpg")
EntityTexture World,wtex
EntityType World,SCENE
TerrainDetail world,100,True

InitShadows(cam, sun, .25)
SetShadowMesh(world, False,True)

Global speed#=0

Global roll#=0

Global dis=0

Global sv=1

MAX_FPS=100
FPS_TIME#=1000./MAX_FPS

While Not KeyHit(1)

   While MilliSecs()<nextfps#:Delay nextfps#-MilliSecs()-.5:Wend:nextfps#=MilliSecs()+FPS_TIME#

If KeyDown(203) Then TurnEntity fighter,0,-1,-1 : roll#=roll#+1
If KeyDown(205) Then TurnEntity fighter,0,1,1
If KeyDown(200) Then TurnEntity fighter,1,0,0
If KeyDown(208) Then TurnEntity fighter,-1,0,0

If KeyDown(54) And speed#>-10 Then speed#=speed#-.1
If KeyDown(157) And speed#<-.1 Then speed#=speed#+.1

MoveEntity fighter,0,speed#,0

   If KeyHit(57) Then sv=sv+1:If sv=3:sv=0:EndIf

   If dis=0 Then Render(sv,1,1)

If KeyHit(17) Then wire=Not wire
WireFrame wire

   If dis=1
      UpdateVolumes(sun)
      RenderWorld
   EndIf

UpdateWorld


Text 70,120,TrisRendered()


   fps#=(19.*fps#+(1000./(MilliSecs()-lastfps)))/20.
   z#=0
   If fps#=1/z# Then fps#=(1000./(MilliSecs()-lastfps))
   lastfps=MilliSecs()

   Flip 0
Wend

ClearWorld
End

Goldini

BeitragSa, Feb 03, 2007 10:00
Antworten mit Zitat
Benutzer-Profile anzeigen
geht immer noch nicht Sad
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy
 

Dreamora

BeitragSa, Feb 03, 2007 11:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann verzicht besser auf Schatten bis du den Rest fertig hast. Bringt nix sich über Eye Candy den Kopf zu zerbrechen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Goldini

BeitragSa, Feb 03, 2007 11:40
Antworten mit Zitat
Benutzer-Profile anzeigen
OK
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group