Simples MotionBlur von Vertex
Hi!
Ja es ist ja möglich, auf Texturen zu rendern, und die Sprite mit Alpha
über den ganzen Bildschirm anzuzeigen. Das habe ich mir mal zu nutze
gemacht, und ein MotionBlur Example erstellt. Achtet auf die kleine
Textur größe, sonst wird es zu viel Performence kosten.
[code:1:9b51b369e9]
Graphics3D 640,480,32,2
SetBuffer BackBuffer()

Cube = CreateCube()

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

Light = CreateLight(1,Camera)

Dim Sprite(10) : Dim Texture(10)
For I = 10 To 0 Step -1
Sprite(I) = CreateSprite(Camera)
ScaleSprite Sprite(I),640,480
PositionEntity Sprite(I),0,0,640
EntityAlpha Sprite(I),0.8 - I / 2.0
EntityOrder Sprite(I),1

Texture(I) = CreateTexture(256,256,256)
EntityTexture Sprite(I),Texture(I)
Next

While Not KeyDown(1)
Frame = Frame + 1

TurnEntity Cube,2,4,1
Y = Y + 1 : PositionEntity Cube,0,Abs(Cos(Y) * 10),0
MoveEntity Cube,0,1,4

UpdateWorld
If Frame > 2 Then
Frame = 0
For I = 10 To 1 Step - 1
Texture(I) = Texture(I - 1)
Next
CameraViewport Camera,0,0,256,256
RenderWorld : CopyRect 0,0,256,256,0,0,BackBuffer(),TextureBuffer(Texture(0))
CameraViewport Camera,0,0,640,480
EndIf
RenderWorld : Flip
Wend
[/code:1:9b51b369e9]
Ihr könnt das praktishc mit jeder Szene machen, müsst nur darauf achten,
das ihr die richtige Auflösung beim Berechnen mit einbezieht.
mfg olli



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