Laser Blur
Übersicht

![]() |
StepTigerBetreff: Laser Blur |
![]() Antworten mit Zitat ![]() |
---|---|---|
Irgendwo im Forum tauchte die Frage nach einem Blur für Laserstrahlen auf.
Hab mal ne Funktion geschrieben ![]() Code: [AUSKLAPPEN] ;----------------------------------
; Bloom Filter ; ; Made by StepTiger ; ;---------------------------------- ; ; ; Main Code ; ; Global Things ; ;---------------------------------- Graphics3D 800,600,32,2 SetBuffer BackBuffer() ;Consants Const TYPE_NORMAL=0 Const TYPE_LASER=1 ;Dims Dim farbr(1) Dim farbg(1) Dim farbb(1) ;Types Type Objekt Field obj Field typ End Type ;Cams cam=CreateCamera() CameraRange cam,.5,1000 ;Light Light=CreateLight(2) PositionEntity light,2,200,0 ;Bloom Sprite and Tex BloomSprite=CreateSprite(cam) BloomTex=CreateTexture(64,64,8) MoveEntity BloomSprite,-(GraphicsWidth()-TextureWidth(BloomTex)*6)*.00005,-TextureHeight(BloomTex)*.0005+(GraphicsHeight())*.0001,1 EntityTexture BloomSprite,BloomTex EntityBlend BloomSprite,3 TextureBlend BloomTex,5 ;Test Cube cube=CreateCube() PositionEntity cube,0,0,5 RegisterObject(cube,TYPE_NORMAL) ;Laser Beam beam=CreateCylinder() ScaleEntity beam,.02,1,.02 PositionEntity beam,0,0,2 EntityAlpha beam,.99 EntityColor beam,255,0,0 RegisterObject(beam,TYPE_LASER) ;While Loop While Not KeyDown(1) Bloom(cam,BloomSprite,BloomTex) UpdateWorld RenderWorld fps#=(19.*fps#+1000./(MilliSecs()-LastFPS))/20.:LastFPS=MilliSecs() Text 1,1,fps# Flip Wend ;Functions ;Register an Object Function RegisterObject(obj,typ) r.Objekt=New Objekt r\obj=obj r\typ=typ End Function ;The Main Bloom Function Function Bloom(Cam,Sprite,Tex) HideEntity Sprite For f.Objekt=Each Objekt If f\typ<>TYPE_LASER Then HideEntity f\obj Next wid=TextureWidth(Tex) hei=TextureHeight(Tex) gfxwid=GraphicsWidth() gfxhei=GraphicsHeight() CameraViewport Cam,0,0,wid,hei RenderWorld CopyRect 0,0,wid,hei,0,0,BackBuffer(),TextureBuffer(Tex) Blur(Tex,1) CameraViewport Cam,0,0,gfxwid,gfxhei For f.Objekt=Each Objekt ShowEntity f\obj Next ShowEntity Sprite End Function ;Blur an Image or Texture Function Blur(Bild,tex) If tex=1 LockBuffer TextureBuffer(Bild) wid=TextureWidth(Bild) hei=TextureHeight(Bild) ElseIf tex=2 LockBuffer ImageBuffer(Bild) wid=ImageWidth(Bild) hei=ImageHeight(Bild) EndIf Dim farbr(wid*(hei+1)+hei) Dim farbg(wid*(hei+1)+hei) Dim farbb(wid*(hei+1)+hei) For x=0 To wid-1 For y=0 To hei-1 pos=x*(hei+1)+y If tex=1 farb=ReadPixelFast(x,y,TextureBuffer(Bild)) ElseIf tex=2 farb=ReadPixelFast(x,y,ImageBuffer(Bild)) EndIf farbr(pos)=farb Shr 16 And 255 farbg(pos)=farb Shr 8 And 255 farbb(pos)=farb And 255 Next Next For x=0 To wid-1 For y=0 To wid-1 pos=x*(hei+1)+y c=0 cr=0 cg=0 cb=0 For px=-1 To 1 For py=-1 To 1 tx=x+px ty=y+py tpos=tx*(hei+1)+ty If tx>=0 And tx<wid And ty>=0 And ty<hei c=c+1 cr=cr+farbr(tpos) cg=cg+farbg(tpos) cb=cb+farbb(tpos) EndIf Next Next cr=cr/c cg=cg/c cb=cb/c col=(cr Shl 16) + (cg Shl 8) + (cb) If tex=1 WritePixelFast x,y,col,TextureBuffer(Bild) ElseIf tex=2 WritePixelFast x,y,col,ImageBuffer(Bild) EndIf Next Next If tex=1 UnlockBuffer TextureBuffer(Bild) ElseIf tex=2 UnlockBuffer ImageBuffer(Bild) EndIf End Function *edit* hier war das: https://www.blitzforum.de/foru...p?p=213004 |
||
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. |
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
es ist besser, hardwarebeschleunigt zu bluren. wie das geht, sollte sich hier auch irgendwo im ca finden lassen ![]() |
||
MrKeks.net |
![]() |
Black Spider |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sieht auch ohne den Blur effekt sehr schön aus,
ansonsten Jan´s Blur lib benutzen (oder vll. auch meine ^^). Habe mich gerade auch selber an som Bloomfilter versucht, da der Ideal als erweiterung für die Wärmeblid funktion klang, doch bin gescheitert, man hat nix ausser weiss gesehen... Egal, was ich zu bemängeln habe: Das is arschlahm, in realtime im Game kaum benutzbar... |
||
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif |
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
was hast du denn für nen pc?
ohne framelimiter->360 fps mit bei 60fps->59fps |
||
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. |
#ReaperNewsposter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab da 40 FPS o_O | ||
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7 |
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
26 FPS.... Steptiger - lügst du oder so ^^ | ||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
nein?
flip 0 und debugger aus beweis: https://www.blitzforum.de/upload/file.php?id=615 |
||
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. |
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
komischerweise habe ich hier auch über 200 fps.. sonst ist meine graka nicht so die schnellste ^^. | ||
MrKeks.net |
#ReaperNewsposter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Oh, hatte Debugger an, hab nun rund 400-450 FPS ![]() Selstsammerweise ist BloomTex=CreateTexture(64,64,8) schneller als BloomTex=CreateTexture(64,64,8+256) also VRam o_O ![]() |
||
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7 |
![]() |
Black Spider |
![]() Antworten mit Zitat ![]() |
---|---|---|
jo, auch ma Debugger ausgeschaltet und Flip auf 0, aber das prog is ja jetzt nicht die Monster Rechenschlugga,
pack das mal in ein Game rein, oder noch besser, in ein Game was schon einen Shader-Fake benutzt (^^), dann wirds ruckelig |
||
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif |
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
glaub ich eher nicht. 2 mal rendern dürfte jeder PC aushalten. Der Rest macht auch nicht viel. Das Blur dauert immer gleich lang. | ||
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. |
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
#Reaper hat Folgendes geschrieben: Selstsammerweise ist BloomTex=CreateTexture(64,64,8) schneller als BloomTex=CreateTexture(64,64,8+256) also VRam o_O ![]() hm bei mir ist die 2. variante schneller... |
||
#ReaperNewsposter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
PSY hat Folgendes geschrieben: #Reaper hat Folgendes geschrieben:
Selstsammerweise ist BloomTex=CreateTexture(64,64,8) schneller als BloomTex=CreateTexture(64,64,8+256) also VRam o_O ![]() hm bei mir ist die 2. variante schneller... ja, sollte sie ja auch, tuts bei mir ja auch sonst immer, nur hier diesmal seltsammer weise nicht, so um die Hälfte langsammer o_O |
||
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7 |
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
gleiches bei mir! Mit 256-> 160 FPS ohne->365 FPS | ||
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. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group