thank you sooo much!!!!
and...
Stevie G, here you go:
and...
Stevie G, here you go:
;====== Full Screen Motion Blur ================================================================= ;====== PROGRAMMED BY JEREMY ALESSI ============================================================= ;====== Requires Rob's Sprite Functions ========================================================= ;====== SPRITE FUNCTIONS IF YOU NEED THEM ======================================================= ;====== IF NOT JUST COMMENT THEM OUT ============================================================ ;fov is the same as your CameraZoom. Function Sprite2D(sprite,x#,y#,fov#) PositionEntity sprite,2*(x#-320),-2*(y#-240),fov#*640 End Function ;scale sprite in screen pixels relative to a 640x480 res when used with Sprite2D Function ScaleSprite2(sprite,x,y) ScaleEntity sprite,x,y,1 End Function ;please pass camera to this function Or 0 for a billboard Type with mesh. Function CreateSprite2(parent) If parent<>0 m=CreateMesh(parent) Else m=CreateMesh() EndIf s=CreateSurface(m) AddVertex s,-1,+1,-1,0,0:AddVertex s,+1,+1,-1,1,0 AddVertex s,+1,-1,-1,1,1:AddVertex s,-1,-1,-1,0,1 AddTriangle s,0,1,2:AddTriangle s,0,2,3 ScaleEntity m,100,100,1 Return m End Function ;================================================================================================ ;====== GLOBAL VARIABLES ======================================================================== Global blur_2 Global blur_3 Global blur_4 Global blur_timer_2#=MilliSecs() Global blur_timer_3#=MilliSecs() Global blur_timer_4#=MilliSecs() ;================================================================================================ ;====== CALL THIS TO SET UP BLUR CAMERA, CHILDREN, AND TEXTURES ================================= ;====== CALL IT AFTER SETTING UP THE MAIN CAMERA AND THEN PASS THE CAMERA ======================= ;====== BLUR_SEVERITY BECOMES WORSE WITH HIGHER NUMERICAL ALPHA LEVELS ========================== ;====== SET THE SEVERITY AND THE FALLOFF VALUES SO THAT ALL 3 BLUR HUDS TOGETHER ARE STILL ====== ;====== TRANSPARENT ============================================================================= Function SetupBlurCamera(blur_camera,blur_severity#=.5,falloff_one#=.3,falloff_two#=.4,field_of_view#=1) blur_2=CreateTexture(Float(GraphicsWidth()),Float(GraphicsHeight()),256) width_ratio#=TextureWidth(blur_2)/Float(GraphicsWidth()) height_ratio#=TextureHeight(blur_2)/Float(GraphicsHeight()) ScaleTexture(blur_2,width_ratio#,height_ratio#) blur_hud_2=CreateSprite2(blur_camera) NameEntity(blur_hud_2,"blur_hud_2") EntityOrder(blur_hud_2,-2) EntityFX(blur_hud_2,1+8) ScaleSprite2(blur_hud_2,640,480) Sprite2D(blur_hud_2,320,240,field_of_view#) EntityAlpha(blur_hud_2,blur_severity#) blur_3=CreateTexture(Float(GraphicsWidth()),Float(GraphicsHeight()),256) ScaleTexture(blur_3,width_ratio#,height_ratio#) blur_hud_3=CreateSprite2(blur_camera) NameEntity(blur_hud_3,"blur_hud_3") EntityOrder(blur_hud_3,-2) EntityFX(blur_hud_3,1+8) ScaleSprite2(blur_hud_3,640,480) Sprite2D(blur_hud_3,320,240,field_of_view#) EntityAlpha(blur_hud_3,blur_severity#-falloff_one#) blur_4=CreateTexture(Float(GraphicsWidth()),Float(GraphicsHeight()),256) ScaleTexture(blur_4,width_ratio#,height_ratio#) blur_hud_4=CreateSprite2(blur_camera) NameEntity(blur_hud_4,"blur_hud_4") EntityOrder(blur_hud_4,-2) EntityFX(blur_hud_4,1+8) ScaleSprite2(blur_hud_4,640,480) Sprite2D(blur_hud_4,320,240,field_of_view#) EntityAlpha(blur_hud_4,blur_severity#-falloff_two#) HideEntity(blur_hud_2) HideEntity(blur_hud_3) HideEntity(blur_hud_4) End Function ;================================================================================================ ;====== BLUR FUNCTION, CALL BEFORE RENDERWORLD ================================================== ;====== PASS THE CAMERA TO IT, HOW MUCH DURATION BETWEEN LATENT IMAGES OR JUST HOW MUCH BLUR ==== ;====== AND WHETHER YOU WANT TO COPY FROM THE FRONT OR BACK BUFFER 1=FRONT 2=BACK =============== ;====== BE SURE TO CALL ShowBlur() BEFORE USING THIS OR THE BLUR WILL NOT APPEAR ================ ;====== YOU CAN ALSO USE HideBlur() SO THE EFFECT CAN BE CONTROLLED FOR A CERTAIN MODE ========== Function BlurScreen(blur_camera,blur_magnitude=30,back_or_front_buffer=1) If blur_timer_2#+blur_magnitude<MilliSecs() Select back_or_front_buffer Case 1 CopyRect(0,0,Float(GraphicsWidth()),Float(GraphicsHeight()),0,0,FrontBuffer(),TextureBuffer(blur_2)) Case 2 CopyRect(0,0,Float(GraphicsWidth()),Float(GraphicsHeight()),0,0,BackBuffer(),TextureBuffer(blur_2)) End Select EntityTexture(FindChild(blur_camera,"blur_hud_2"),blur_2) blur_timer_2#=MilliSecs() EndIf If blur_timer_3#+2*blur_magnitude<MilliSecs() Select back_or_front_buffer Case 1 CopyRect(0,0,Float(GraphicsWidth()),Float(GraphicsHeight()),0,0,FrontBuffer(),TextureBuffer(blur_3)) Case 2 CopyRect(0,0,Float(GraphicsWidth()),Float(GraphicsHeight()),0,0,BackBuffer(),TextureBuffer(blur_3)) End Select EntityTexture(FindChild(blur_camera,"blur_hud_3"),blur_3) blur_timer_3#=MilliSecs() EndIf If blur_timer_4#+3*blur_magnitude<MilliSecs() Select back_or_front_buffer Case 1 CopyRect(0,0,Float(GraphicsWidth()),Float(GraphicsHeight()),0,0,FrontBuffer(),TextureBuffer(blur_4)) Case 2 CopyRect(0,0,Float(GraphicsWidth()),Float(GraphicsHeight()),0,0,BackBuffer(),TextureBuffer(blur_4)) End Select EntityTexture(FindChild(blur_camera,"blur_hud_4"),blur_4) blur_timer_4#=MilliSecs() EndIf End Function ;================================================================================================ ;====== HIDE THE BLUR EFFECTS =================================================================== Function HideBlur(blur_camera) HideEntity(FindChild(blur_camera,"blur_hud_2")) HideEntity(FindChild(blur_camera,"blur_hud_3")) HideEntity(FindChild(blur_camera,"blur_hud_4")) End Function ;================================================================================================ ;====== SHOW THE BLUR EFFECTS =================================================================== Function ShowBlur(blur_camera) ShowEntity(FindChild(blur_camera,"blur_hud_2")) ShowEntity(FindChild(blur_camera,"blur_hud_3")) ShowEntity(FindChild(blur_camera,"blur_hud_4")) End Function ;================================================================================================