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 |