Schattenrotine (sehr lahm) von Vertex
Ja wirklich mehr als lahm, dabei wird der schatten nichteinmal
gefüllt :(
[code:1:6cb8039316]
Graphics3D 640,480,32,2
SetBuffer BackBuffer()

Level = CreateSphere(60)
ScaleEntity Level,20,2,20
EntityPickMode Level,2

Mesh = CreateCylinder()
EntityColor Mesh,255,0,0
Shadow = CreateShadow(Mesh)

LightBox = CreateCube()
PositionEntity LightBox,15,20,0
EntityColor LightBox,255,255,0

Light = CreateLight(3,LightBox)
LightConeAngles Light,35,45
LightRange Light,20.0

Camera = CreateCamera()
PositionEntity Camera,0,10,-30

While Not KeyDown(1)
TurnEntity Mesh,5,2,2
Angle = Angle + 3
X# = Cos(Angle) * 5 + 10
Z# = Sin(Angle) * 5 - 4
PositionEntity Mesh,X#,10,Z#
PointEntity LightBox,Mesh

UpdateShadow(Mesh,Light,20.0,Shadow)
UpdateWorld : RenderWorld : Flip
Wend

End

Function CreateShadow(Mesh)
For S = 1 To CountSurfaces(Mesh)
Surface = GetSurface(Mesh,S)
Count = Count + CountVertices(Surface)
Next
Shadow = CreateBank(Count * 4) : Count = 0

For S = 1 To CountSurfaces(Mesh)
Surface = GetSurface(Mesh,S)
For V = 0 To CountVertices(Surface) - 1
Cube = CreateCube()
ScaleEntity Cube,0.1,0.1,0.1
EntityColor Cube,0,255,0
HideEntity Cube
PokeInt Shadow,Count,Cube
Count = Count + 4
Next
Next

Return Shadow
End Function

Function UpdateShadow(Mesh,Light,Light_Range#,Shadow)
X1# = EntityX#(Light,1)
Y1# = EntityY#(Light,1)
Z1# = EntityZ#(Light,1)

For S = 1 To CountSurfaces(Mesh)
Surface = GetSurface(Mesh,S)
For V = 0 To CountVertices(Surface) - 1
Cube = PeekInt(Shadow,Count)
Count = Count + 4

X2# = VertexX#(Surface,V)
Y2# = VertexY#(Surface,V)
Z2# = VertexZ#(Surface,V)
TFormPoint X2#,Y2#,Z2#,Mesh,0
X3# = TFormedX#()
Y3# = TFormedY#()
Z3# = TFormedZ#()

DX# = (X3# - X1#) * Light_Range#
DY# = (Y3# - Y1#) * Light_Range#
DZ# = (Z3# - Z1#) * Light_Range#
If LinePick(X1#,Y1#,Z1#,DX#,DY#,DZ#) Then
ShowEntity Cube
X4# = PickedX#()
Y4# = PickedY#()
Z4# = PickedZ#()
PositionEntity Cube,X4#,Y4#,Z4#
EndIf
Next
Next
End Function
[/code:1:6cb8039316]
mfg olli
===
von ???
Das kann ich nur bestätigen. Das ist außerordenlich lahm.

Bei mir (System siehe Sig) läuft es mit ca. 1 FPS (geschätzt).
===
von ???
LOL, das IST Lahm. :shock:
===
von ???
Ich weiß gar nicht, was ihr habt. Ich habe satte 10 FPS :P



Suche:
(unterstützt mySQL Wildcards ala %)
Titel:
Text:
Autor: