I'm trying to combine two pieces of code in order
to obtain a better Depth Of Field effect.
The first one is the dof code of fredborg, in the code archives, and the second one is the texture blurring function of sswift.
What I'm trying is to blur each layer created by Fredborg function, in order to obtain more quality in the blurring depending of distance, but I'm bot capable of do it and the results are all bizarre.
please, someone could help me?
This is the link to Fredbrog function:
http://www.blitzbasic.com/codearcs/codearcs.php?code=1030
and this is the code of sswift blur routine:
to obtain a better Depth Of Field effect.
The first one is the dof code of fredborg, in the code archives, and the second one is the texture blurring function of sswift.
What I'm trying is to blur each layer created by Fredborg function, in order to obtain more quality in the blurring depending of distance, but I'm bot capable of do it and the results are all bizarre.
please, someone could help me?
This is the link to Fredbrog function:
http://www.blitzbasic.com/codearcs/codearcs.php?code=1030
and this is the code of sswift blur routine:
; Blur init ;----------- Global blur_qual = 2 Global blur_rad# = 3 Global blur_coef# = .2 Global blur_decal# = .002 Global glow_tex,glow_tex2 Global mv_x#,mv_y# Global tour Const nb_filtres = 3 Const glowsize# = 512 Const GLOW_CAM_X# = 65536.0 Const GLOW_CAM_Y# = 65536.0 Const GLOW_CAM_Z# = 0.0 Function BlurTextureGlow(Texture, Blur_Quality, Blur_Radius#) Local BlurMesh[16*4] If Blur_Quality > 0 Blur_Cam = CreateCamera() CameraRange Blur_Cam, 0.1, 1000 CameraZoom Blur_Cam, 16.0 ;16.0 RotateEntity Blur_Cam, 90, 0, 0, True CameraViewport Blur_Cam, 0, 0, TextureWidth(Texture), TextureHeight(Texture) CameraClsColor Blur_Cam, 0,0,0 CameraClsMode Blur_Cam, True, True PositionEntity Blur_Cam, GLOW_CAM_X#, GLOW_CAM_Y#, GLOW_CAM_Z# For Loop = 0 To (Blur_Quality*4)-1 BlurMesh[Loop] = CreateSprite() Next ScaleTexture Texture, 0.5, 0.5 PositionTexture Texture, 0.5, 0.5 BlurRadius# = Blur_Radius# * (1.0 / 256.0) BlurAngleStep# = 360.0 / Float(Blur_Quality*4) BlurShade = Ceil(255.0 / Float(Blur_Quality*4)) For Loop = 0 To (Blur_Quality*4)-1 EntityTexture BlurMesh[Loop], Texture EntityFX BlurMesh[Loop], 1+8 EntityAlpha BlurMesh[Loop], 1.0 / Float(Loop+1) ScaleSprite BlurMesh[Loop], 2, 2 BlurAngle# = BlurAngleStep# * Float(Loop) + 180.0*(Loop Mod 2) Xoff# = BlurRadius# * Cos(BlurAngle#) Yoff# = BlurRadius# * Sin(BlurAngle#)PositionEntity BlurMesh[Loop], GLOW_CAM_X# + Xoff#, GLOW_CAM_Y# - 16.0, GLOW_CAM_Z# + Yoff#, True Next RenderWorld CopyRect 0, 0, TextureWidth(Texture), TextureHeight(Texture), 0, 0, BackBuffer(), TextureBuffer(Texture) For Loop = 0 To (Blur_Quality*4)-1 FreeEntity BlurMesh[Loop] Next HideEntity Blur_Cam FreeEntity Blur_Cam EndIf End Function