Lustige Effekte...

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

5k41

Betreff: Lustige Effekte...

BeitragMi, März 01, 2006 16:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!
Ich frage mich schon seit längerem wie man so schöne Effekte wie z.B. eine Lupe also einen Kreis in dem alles so groß und gewölbt aussieht oder einen Verschwimm-Effekt hinbekommt und da ich keine Ahnung hab, wie man nach sowas suchen kann dachte ich wende ich mich an euch! Um gleich noch mit zu fragen: Geht sowas nur in 3D oder auch in 2D?

Danke für eure Hilfe!

mfg
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, März 01, 2006 17:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Garnicht? Oder selber mit Sin/Cos/Tan arbeiten und hoffen es schnell genug hin zu bekommen... Assembler ist für solche Sachen angebracht...

5k41

BeitragMi, März 01, 2006 17:05
Antworten mit Zitat
Benutzer-Profile anzeigen
*zusammenbrech* danke erstmal für deine schnelle Antwort! Wenn das so ist dann brauch man ja garnicht weiter diskutieren dann muss man das halt wirklich per writepixel und ner berechnung machen... schade ich dachte es gäbe für sowas ne Dll oder Funktionen...Sad
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

HW

BeitragMi, März 01, 2006 17:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Also die Lupe ist schon schwer. Und wenn man in ihr alles gewölbt darstellen will, erst recht.
Aber der Verschwimmeffekt (besser bekannt als "Blur") ist aber nicht wirklich schwer. Da gibts auch einiges in dem Codearchiv. Das Prinzip des Blureffekts liegt darin, die Farbmittelwerte eines Pixels und der jeweiligen Nachbarspixel in den entsprechenden Pixel zu schreiben.

5k41

BeitragMi, März 01, 2006 17:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Cool das ist ja immerhin schon etwas! Danke!
Es gibt nicht zufällig wen, der das alles mal in ner Dll oder einen Paar Funktionen vereint hat und das kostenlos zur verfügung stellt oder?
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, März 01, 2006 17:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Ob es eine Dll dafür gibt weiß ich nicht... Nur sind solche Sachen nicht grad für Realtimegames geeignet, da die Berechnungen nun mal recht 'komplex' sind... Eine einfache Lupe bekommt man einfach mit B3D hin, aber da stand was von 'Wölbungen', und genau diese sind nicht einfach für den Rechner. Weil sie Winkelfunktionen benötigen. Theoretisch könnte man auf Winkelfunktionen verzichten und das ganze in einer art 'Gravitationsberechnung' durchführen. Diese kämmen dann auch ohne Winkelfunktionen aus. Nur sind dann auch gewisse Einschränkungen der Realistischen Darstellung hinzunehmen.

Was willst du denn machen? Ein schwarzes Loch darstellen?

5k41

BeitragMi, März 01, 2006 17:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein mir geht es nur generell um ein Paar witzige Effekte die z.B. ein langweiliges Menü aufpeppen könnten oder so. Mir gehts auch nicht speziell um diese Effekte sollten halt nur Beispiele sein!
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

HW

BeitragMi, März 01, 2006 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei einem Menü wendet man sowas eher nicht an. In einem Spiel geht es schließlich nicht um das Menü. Ein Menü mit ein paar Bildchen auszudekorieren, ist ganz gut. Aber man sollte ein Menü nicht mit irgendwelchen dahinprogrammierten Effekten zumüllen.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, März 01, 2006 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn es darum geht ein Menü bei auftauchen ein wenig aufzuepeppen, dann kann man es unter 2D auch so machen, das man das Menübild Grabt und aus denen mehrere Tiles macht (GrabImage x,y, FRAME). Mit diesen lassen sich dann auch so schöne Sachen machen, wie ein 'Aufzoomen' die dann mit gewölbter Grafik daher kommt. Hier wird ja nicht jeder Pixel einzelnd berechnet, sondern ein ganzes Tile und somit bleiben wesentlich weniger Berechnungen übrig... Im grunde sollte sich da jeder mal was neues einfallen lassen, um eine 'wow' -Effekt beim User zu landen...

@HW, bitte nur als das Auftauchen des Menüs verstehen...

5k41

BeitragMi, März 01, 2006 17:40
Antworten mit Zitat
Benutzer-Profile anzeigen
sorry aber das mit dem grab und in tiles teilen versteh ich im moment leider nicht...Sad
Das mit dem Menü war auch nur ein (schlechtes) Beispiel. Ich hab mich letztens wieder an einen Thread erinnert in dem sowas in der richtung vorgestellt wurde desswegen komme ich darauf. Ich werd mal ein bisschen die Forensuche anwerfen bis dahin...

mfg!
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

Dreamora

BeitragMi, März 01, 2006 17:41
Antworten mit Zitat
Benutzer-Profile anzeigen
HW hat Folgendes geschrieben:
Bei einem Menü wendet man sowas eher nicht an. In einem Spiel geht es schließlich nicht um das Menü. Ein Menü mit ein paar Bildchen auszudekorieren, ist ganz gut. Aber man sollte ein Menü nicht mit irgendwelchen dahinprogrammierten Effekten zumüllen.


Erklär das doch bitte Mal Apple Wink

Die Zeiten als Menüs nur funktionell waren, sind leider schon lange vorbei ... sonst würde man heute keine 3D Karte brauchen, damit der Desktop noch gescheit läuft ...
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

5k41

BeitragMi, März 01, 2006 17:43
Antworten mit Zitat
Benutzer-Profile anzeigen
so ging recht schnell habs gefunden!
https://www.blitzforum.de/view...ht=desktop
mir ist schon klar das ich mir keine Hoffnung machen muss das ich das so gut hinbekomme aber ich würde halt nur mal gern sowas in der Richtung gemacht haben...

P.S.: Dreamora du hast vollkommen recht! (es gibt wenn ich recht überlege sogar bei Apple einen ähnlichen Effekt wie ich "herstellen" will, diese Leiste dort unten am Bildschirm Wink )
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

ke^kx

BeitragMi, März 01, 2006 17:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Guck doch mal bei bb.com im Codearchiv. Da findet man viele Effekte.

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM

Bob

BeitragMi, März 01, 2006 17:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

hier mal Quick and Dirty.
Allerdings leider noch keine Wölbung.


Code: [AUSKLAPPEN]

Apptitle "Fake Lupe by bob"
Const ScreenX = 800
Const screenY = 600
Graphics 800,600,32,2


Global HG1 =createimage(ScreenX,ScreenY)


SetBuffer ImageBuffer(HG1)
For y = 0 To screenY Step 32
   For x = 0 To screenx Step 32
      Color Rand(255),Rand(255),Rand(255)
      Rect x,y,32,32
   Next
Next


HG2 = CopyImage(HG1)
ScaleImage HG2,2,2   

Global HG_Back = CopyImage(HG1)

SetBuffer BackBuffer()
While Not keyhit(1)
   mx = MouseX()
   my = MouseY()
   DrawBlock HG2,0-MX,0-MY
   DrawImage HG1,0,0
   Color 255,0,0   
   Oval mx-100,my-100,200,200,0
   stanze_Loch(mx,my)
   Flip
   
Wend
End

Function    stanze_Loch(mx,my)
   FreeImage HG1
   hg1 = CopyImage(HG_Back)
   Color 255,255,255
   SetBuffer ImageBuffer(HG1)
   Oval mx-100,my-100,200,200
   SetBuffer BackBuffer()
   MaskImage hg1,255,255,255
End Function
Er soll an den Spielen teilnehmen bis er spielend stirbt. MCP - TRON

5k41

BeitragMi, März 01, 2006 19:12
Antworten mit Zitat
Benutzer-Profile anzeigen
cool! Das ist ja schonmal echt gut! Aber irgendwie stimmt das noch nicht ganz ich mein wenn ich über ein Rechteck halb fahre dann sehe ich es noch nicht in der lupe erst wenn es ungefähr in der Mitte ist.
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

Spikespine

BeitragMi, März 01, 2006 19:30
Antworten mit Zitat
Benutzer-Profile anzeigen
5k41 hat Folgendes geschrieben:
cool! Das ist ja schonmal echt gut! Aber irgendwie stimmt das noch nicht ganz ich mein wenn ich über ein Rechteck halb fahre dann sehe ich es noch nicht in der lupe erst wenn es ungefähr in der Mitte ist.

naja, es ist eben vergrößert und deshalb siehst du in der lupe nicht den kompletten Bereich , der durch die Lupe weggenommen ist.
der code also imho korrekt.
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax

5k41

BeitragMi, März 01, 2006 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
achja Very Happy hab ich garnicht dran gedacht ich trottel Very HappyVery HappyVery Happy
da müsste dann wieder meine Krümmung ins spiel kommen...
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

#Reaper

Newsposter

BeitragMi, März 01, 2006 20:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Also man bekommt mithilfe von 3D eine Lupe saueinfach hin, welche auch noch ziemlich schnell funktioniert, wie dieser, nicht sehr sauber geschriebene Code beweist Wink

Code: [AUSKLAPPEN]

flname$ = "test-desktop"

deskimg = LoadImage(flname$+".bmp")
ax = ImageWidth(deskimg)
ay = ImageHeight(deskimg)
;FreeImage deskimg

Global graphics_x=ax   ;Auflösung X
Global graphics_y=ay   ;Auflösung Y
Const graphics_d=32   ;Auflösung Bits
Const graphics_m=1   ;Auflösung Mode




Graphics3D graphics_x,graphics_y,graphics_d,graphics_m
SetBuffer BackBuffer()

font_arial = LoadFont("Verdana",20,1)
SetFont font_arial

;------------------------------Globale,Types,etc.---
Dim FPS(3)             ;fuer die FPS-Rate
;-------------------------ENDE-Globale,Types,etc.---


;Create Maincam
camera1 = CreateCamera()
CameraViewport camera1,0,0,graphics_x,graphics_y
CameraRange camera1, 0.1, 100
CameraProjMode camera1,1
CameraClsMode camera1,0,1 ;<----Sehr wichtig, wenn der Hintergrund der 2D Szene bleiben soll!

;Create Mainlight
light1 = CreateLight()
LightColor light1,200,200,200
PositionEntity light1,0,0,-1000
;TurnEntity light1,90,0,0



;AmbientLight 255,255,255
deskimg = LoadImage(flname$+".bmp")   ;DesktopImage


tex_x = 512
tex_y = 512

sphere = CreateSphere(24)
PositionEntity sphere,0,0,4.99
ScaleEntity sphere,1.4,1.4,0.2
EntityShininess sphere,0.5
;sphere_tex_rand = LoadTexture("rand.jpg",2+512)   
;EntityTexture sphere,sphere_tex_rand,0,1

sphere_tex = CreateTexture(tex_x,tex_y,256+1)
ScaleTexture sphere_tex,1.5,1.5
PositionTexture sphere_tex,0.835,0.835
EntityTexture sphere,sphere_tex


;--------Mouse--
MoveMouse graphics_x/2,graphics_y/2
HidePointer
;---ENDE-Mouse--

SeedRnd MilliSecs()
msx# = Rnd(0.2,0.5)
msy# = Rnd(0.2,0.5)

mx=MouseX()
my=MouseY()



While Not KeyHit(1)      ;------MAINLOOP

Cls
DrawImage deskimg,0,0

If MouseX()<>mx Or MouseY()<>my Then End


If an=0 Then
   CameraProject camera1,EntityX(sphere),EntityY(sphere),EntityZ(sphere)
   px=ProjectedX()
   py=ProjectedY()
   CopyRect px-(tex_x/2),py-(tex_y/2),tex_x,tex_y,0,0,BackBuffer(),TextureBuffer(sphere_tex)
EndIf
If KeyHit(2) Then an=1-an:DebugLog an



;Moving Cam
   ;If KeyDown(200) Then MoveEntity camera1,0,0,1
   ;If KeyDown(208) Then MoveEntity camera1,0,0,-1
   ;If KeyDown(203) Then MoveEntity camera1,1,0,0
   ;If KeyDown(205) Then MoveEntity camera1,-1,0,0
   
   SeedRnd MilliSecs()
   If EntityY(sphere)>2.5 Then msy# = -Rnd(0.15,0.5)
   If EntityY(sphere)<-2.5 Then msy# = Rnd(0.15,0.5)
   If EntityX(sphere)>4 Then msx# = -Rnd(0.15,0.5)
   If EntityX(sphere)<-4 Then msx# = Rnd(0.15,0.5)

   MoveEntity sphere,msx#/10,msy#/10,0
      
   ;msx# = MouseXSpeed()
   ;msy# = MouseYSpeed()
   ;MoveEntity sphere,msx#/100,-msy#/100,0
   
   ;MoveMouse graphics_x/2,graphics_y/2
;End Moving Cam
   If KeyHit(17) Then wframe = 1-wframe:WireFrame wframe   ;Wireframe


RenderWorld
;Color 255,0,0:Text 10,10,"FPS: " + ShowFPS()

Flip 0

Wend    ;---------------END OF MAINLOOP
End



Function ShowFps#()      ;FPS anzeigen
   FPS(2)=FPS(2)+1
   If MilliSecs()>FPS(3)+999 Then
      FPS(1)=FPS(2)
      FPS(2)=0
      FPS(3)=MilliSecs()
   EndIf
   Return FPS(1)
End Function
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

5k41

BeitragMi, März 01, 2006 20:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke!
Leider ist bei mir nur ein weisser Kreis da ich keine Textur für die Lupe hatte...Sad stell doch mal bitte deine Online!
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, März 01, 2006 20:37
Antworten mit Zitat
Benutzer-Profile anzeigen
ok,.. Ich nehm alles zurrück das man es nicht schnell genug in Blitz bekommen kann... Embarassed

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group