jan´s blurfilter mit camerazoom läuft fehlerhaft?
Übersicht

![]() |
rctunerBetreff: jan´s blurfilter mit camerazoom läuft fehlerhaft? |
![]() Antworten mit Zitat ![]() |
---|---|---|
hallo ich habe meiner kamera den camerazoom wert 1.5 gegeben. Nun leuft der Filter aber fehlerhaft. das bild der blurcam wirkt irgendwie versetzt, schwer zu beschreiben.
Muss ich den code irgendwo anpassen? hier jan´s filter code: Code: [AUSKLAPPEN] ;Blur Libary by Jan Kuhnert
;Diese Blur effekt Libary für Blitz Basic 3D wurde von Jan Kuhnert entwickelt. Global Blur_image_primaer, blur_texture, blur_gw, blur_gh,Blur_W,Blur_H,Blur_R,Blur_g,Blur_B Global Blur_image_secundaer,Blur_image_tri,Blur_Wett#,Blur_TX,Blur_TY,Blur_surface,Blur_def Global Blur_Time,Blur_Timeset Dim Blur_Point(10,10) Function CreateBlur(BlurCam,CameraEntfernung# = 4,Weichen# = 0,r=255,g=255,b=255,Zoomeffekt# = 1.5,Blend = False,X_Teilung=1,Y_Teilung=1) Local sf,spr,w#,h#,BildschirmVerhaeltnis# Local ScaleX#,ScaleY# Dim Blur_Point(X_Teilung,Y_Teilung) Blur_TX=X_Teilung Blur_TY=Y_Teilung ;Blur_Cam = BlurCam Blur_R=r Blur_g=g Blur_B=b If blurimage = 0 Then FreeBlur() EndIf blur_gw = GraphicsWidth() blur_gh = GraphicsHeight() blur_texture = CreateTexture(blur_gw, blur_gh, 1+256) Blur_W=TextureWidth(blur_texture) Blur_H=TextureHeight(blur_texture) w#=Blur_W - blur_gw h#=Blur_H - blur_gh BildschirmVerhaeltnis#= Float(blur_gh)/Float(blur_gw)*CameraEntfernung# ScaleX# = CameraEntfernung# + (CameraEntfernung#*w#/Float(blur_gw)) ScaleY# = BildschirmVerhaeltnis#+ (BildschirmVerhaeltnis#*h#/Float(blur_gh)) BB_to_Pixel_X# = (ScaleX#/Blur_W) BB_to_Pixel_Y# = (ScaleY#/Blur_H) Local Schnitt_X#,Schnitt_Y# Schnitt_X#=((1.0/Blur_W)*w#)/2.0 Schnitt_Y#=((1.0/Blur_H)*h#)/2.0 spr = CreateMesh(BlurCam) sf = CreateSurface(spr) Local X,Y Local X2#,Y2# X2#=X_Teilung/2.0 Y2#=Y_Teilung/2.0 For X = 0 To X_Teilung For Y = 0 To Y_Teilung Blur_Point(X,Y) = AddVertex(sf,(X-X2#)/X2#,(Y-Y2#)/Y2#,0,(X/Float(X_Teilung))-(Schnitt_X#*((X-X2#)/X2#)),(-Y/Float(Y_Teilung))+(Schnitt_Y#*(Y-Y2#)/Y2#)) Next Next For X = 1 To X_Teilung For Y = 1 To Y_Teilung AddTriangle sf,Blur_Point(X,Y),Blur_Point(X,Y-1),Blur_Point(X-1,Y) AddTriangle sf,Blur_Point(X,Y-1),Blur_Point(X-1,Y-1),Blur_Point(X-1,Y) Next Next EntityFX spr, 1+8+32 EntityOrder spr, -(2^30) EntityBlend spr, 1 EntityAlpha spr,0 If Blend EntityBlend spr, 3 ScaleEntity spr,1.0*CameraEntfernung#,0.75*CameraEntfernung#,1.0 PositionEntity spr,-BB_to_Pixel_X#,BB_to_Pixel_Y#,CameraEntfernung# Blur_W=(w#/2.0) Blur_H=(h#/2.0) EntityTexture spr, blur_texture Blur_image_primaer = spr Blur_surface = sf If Weichen# <>0 Blur_image_secundaer = CopyEntity(spr,BlurCam) Blur_image_tri = CopyEntity(spr,BlurCam) Blur_Wett#=Weichen# PositionEntity Blur_image_primaer,-BB_to_Pixel_X#+((Sin#(0)*BB_to_Pixel_X#)*Weichen#/2.0),BB_to_Pixel_y#+(Cos#(0)*BB_to_Pixel_y#*Weichen#)/2.0,CameraEntfernung#,0 PositionEntity Blur_image_secundaer,-BB_to_Pixel_X#+((Sin#(120)*BB_to_Pixel_X#)*Weichen#/2.0),BB_to_Pixel_y#+(Cos#(120)*BB_to_Pixel_y#*Weichen#)/2.0,CameraEntfernung#,0 PositionEntity Blur_image_tri,-BB_to_Pixel_X#+((Sin#(240)*BB_to_Pixel_X#)*Weichen#/2.0),BB_to_Pixel_y#+(Cos#(240)*BB_to_Pixel_y#*Weichen#)/2.0,CameraEntfernung#,0 EndIf End Function Function SetBlurUpdateTime(time) Blur_Timeset = time End Function Function SetBlurDeform(X,Y,MoveX#,MoveY#) Local Real_X,Real_Y Local VX#,VY#,VZ# Local REd,Green,Blue Real_X=Blur_TX/Float(blur_gw)*Float(X) Real_Y=Blur_TY/Float(blur_gh)*Float(Y) VX#=(Real_X-(Blur_TX/2.0))/Float(Blur_TX/2.0) +(MoveX#/Float(Blur_TX)) VY#=(Real_Y-(Blur_TY/2.0))/Float(Blur_TY/2.0) +(MoveY#/Float(Blur_TY)) VZ#=VertexZ#(Blur_surface,Blur_Point(Real_X,Real_Y)) VertexCoords Blur_surface,Blur_Point(Real_X,Real_Y),VX#,VY#,VZ# REd=VertexRed(Blur_surface, Blur_Point(Real_X,Real_Y)) Green=VertexGreen(Blur_surface, Blur_Point(Real_X,Real_Y)) Blue=VertexBlue(Blur_surface, Blur_Point(Real_X,Real_Y)) VertexColor Blur_surface, Blur_Point(Real_X,Real_Y), REd, Green, Blue ,1 End Function Function InitDeform() Local Real_X,Real_Y Local VX#,VY#,VZ# Local REd,Green,Blue For Real_X=0 To Blur_TX For Real_Y=0 To Blur_TY VX#=(Real_X-(Blur_TX/2.0))/Float(Blur_TX/2.0) VY#=(Real_Y-(Blur_TY/2.0))/Float(Blur_TY/2.0) VZ#=VertexZ#(Blur_surface,Blur_Point(Real_X,Real_Y)) VertexCoords Blur_surface,Blur_Point(Real_X,Real_Y),VX#,VY#,VZ# REd=VertexRed(Blur_surface, Blur_Point(Real_X,Real_Y)) Green=VertexGreen(Blur_surface, Blur_Point(Real_X,Real_Y)) Blue=VertexBlue(Blur_surface, Blur_Point(Real_X,Real_Y)) VertexColor Blur_surface, Blur_Point(Real_X,Real_Y), REd, Green, Blue ,0 Next Next Blur_def=1 End Function Function UpdateBlur(power#) Local Time If power# >0.99 Then power# = 0.99 If Blur_Wett# <>0 If power# >0.48 Then power# = 0.48 EntityAlpha Blur_image_secundaer, power# EntityColor Blur_image_secundaer,Blur_R,Blur_g,Blur_B EntityAlpha Blur_image_tri, power# EntityColor Blur_image_tri,Blur_R,Blur_g,Blur_B EndIf EntityAlpha Blur_image_primaer, power# EntityColor Blur_image_primaer,Blur_R,Blur_g,Blur_B Time = MilliSecs() If Blur_Time < Time-Blur_Timeset Blur_Time = Time CopyRect 0, 0, blur_gw, blur_gh, Blur_W, Blur_H, BackBuffer(), TextureBuffer(blur_texture) EndIf End Function Function SetBlurColor(R,G,B) If R > 255 Then R= 255 If G > 255 Then G= 255 If B > 255 Then B= 255 If R < 0 Then R= 0 If G < 0 Then G= 0 If B < 0 Then B= 0 Blur_R=R:Blur_g=G:Blur_B=B End Function Function SetBlurParent(Parent) Local X#,Y#,Z# X#=EntityX#(Blur_image_primaer,0) Y#=EntityY#(Blur_image_primaer,0) Z#=EntityZ#(Blur_image_primaer,0) EntityParent Blur_image_primaer,Parent PositionEntity Blur_image_primaer,X#,Y#,Z#,False If Blur_Wett# <>0 X#=EntityX#(Blur_image_secundaer,0) Y#=EntityY#(Blur_image_secundaer,0) Z#=EntityZ#(Blur_image_secundaer,0) EntityParent Blur_image_secundaer,Parent PositionEntity Blur_image_secundaer,X#,Y#,Z#,False X#=EntityX#(Blur_image_tri,0) Y#=EntityY#(Blur_image_tri,0) Z#=EntityZ#(Blur_image_tri,0) EntityParent Blur_image_tri,Parent PositionEntity Blur_image_tri,X#,Y#,Z#,False EndIf End Function Function FreeBlur() FreeEntity Blur_image_primaer If Blur_Wett# <>0 FreeEntity Blur_image_secundaer FreeEntity Blur_image_tri Blur_image_secundaer=0 Blur_image_tri=0 EndIf Blur_def=0 FreeTexture blur_texture Blur_image_primaer=0 blur_texture=0 Blur_Wett=0 End Function |
||
[Y[our Film, Game ]M[akers and more [F]un!
www.Master-Entertainment.de.vu [AMD 6000+ X2 @ 6400+][2GB RAM][NVidia 8800GT 512 MB] |
- Zuletzt bearbeitet von rctuner am Mo, Feb 12, 2007 21:56, insgesamt einmal bearbeitet
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich denke mal, da war das sprite nicht ganz optimal positioniert oder die textur nicht richtig skaliert.
das "leuft" dann natürlich nicht so wie es soll. Das Problem hatte ich auch mal bei einem Versuch einen Blur Filter zu schreiben. Ich habs damals einfach aufgegeben, hatte keine Lust, mich weiter mit dem Problem auseinanderzusetzen, "leuft" ja auch so. Frage: Wofür brauchst du das? |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
rctuner |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ "leuft" okay ich hab den rechtschreibfehler ja schon gemerkt^^
wofür ich die blurlib brauche? für mein aktuelles auto rennspiel. je nach zunehmender geschwindigkeit soll das bild verschwimmen. Zitat: "leuft" ja auch so. nein eben nicht. das ist ja das problem ![]() |
||
[Y[our Film, Game ]M[akers and more [F]un!
www.Master-Entertainment.de.vu [AMD 6000+ X2 @ 6400+][2GB RAM][NVidia 8800GT 512 MB] |
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Achso. Motion Blur.
Da gabs auch extra Funktions Libs zu. (Direkt zu Motion Blur) |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
rctuner |
![]() Antworten mit Zitat ![]() |
---|---|---|
stimmt es muss an der scallierung oder positionierung liegen. nur finde ich nicht genau raus wo und was ![]() |
||
[Y[our Film, Game ]M[akers and more [F]un!
www.Master-Entertainment.de.vu [AMD 6000+ X2 @ 6400+][2GB RAM][NVidia 8800GT 512 MB] |
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
Notfalls kannst du ja mal unsere BlurLib (Blackspider's und meine) probieren ^^ (da isse)
Könnt aber sein, dass das da auch auftritt... ![]() |
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
kannst du mal nen download bereitstellen, so wie du es gemacht hast?
dann könnte ich es mir mal ansehen. |
||
between angels and insects |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group