Single/Multi Surface Bob engine Pixelgenau

Übersicht Sonstiges Projekte

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen

 

Silbersurfer

Betreff: Single/Multi Surface Bob engine Pixelgenau

BeitragFr, Sep 17, 2010 7:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Leute !
lang ist es her das Ich was gepostet habe hier..
aber Tod geglaubte leben länger Laughing

drum wollte Ich mein kleines Projekt heut mal vorstellen
welches fast fertig ist *freu

es handelt sich um eine Pixelgenau Single/multi Surface engine
mit der man wie in gewohnter Art Images (bob´s) auf dem schirm bringen kann

user posted image

also wie in 2D halt befehle wie is_rect_bob(id,x#,y#,w#,h#) u.s.w.....


hier der code von meiner kleinen Demo...
diese Demo besteht aus 4 surfaces man könnte aber auch alles in ein surface machen Very Happy

Code: [AUSKLAPPEN]
cam=CreateCamera()
is_setup_layer(cam)

licht=CreateLight()
RotateEntity licht,90,0,0
;mesh und Surface erstellen
mesh=is_create_mesh()
surface=CreateSurface (mesh)

;by silbersufer logo erstellen
silbersurferlogo=is_create_surface(mesh,"silbersurfer.png",2)
silbersurfer=is_create_bob(silbersurferlogo,256,256)
is_grab_image(silbersurfer,0,0,256,256)
is_automid_bob(silbersurfer)

; Pacman erstellen
pacmanpic=is_create_surface(mesh,"pacman.png",2)
pacman=is_create_bob(pacmanpic,256,256)
is_grab_image(pacman,0,0,256,256)
is_automid_bob(pacman)
is_draw_bob(pacman,400,300)
is_alpha_bob(pacman,1)

; Is Bob logo erstellen
logo=is_create_surface(mesh,"isbob.png",2)
isboblogo=is_create_bob(logo,256,256)
is_grab_image(isboblogo,0,0,256,256)
is_automid_bob(isboblogo)


;1000 Sterne erstellen
starpic=is_create_surface(mesh,"star.png",1+2)
Dim star(1000)
For i=0 To 1000
   star(i) =is_create_bob(starpic,32,32)
   is_draw_bob(star(i),Rnd(0,800),Rnd(0,600))
   is_rotate_bob(star(i),Rnd(-6,6))
   is_move_bob(star(i),Rnd(1,3),0,0)
   is_automid_bob(star(i))
   is_color_bob(star(i),Rnd(10,255),Rnd(10,255),Rnd(10,255))
   is_alpha_bob(star(i),.3)
Next
is_grab_image(starpic,0,0,512,512)



speedx=1
speedy=2
rotate#=.5
Repeat   
   ;Sterne updaten
   For i=0 To 1000
      If is_bob_x(star(i))>832
         is_set_x(star(i),-32)
         is_set_y(star(i),Rnd(0,600))
      EndIf
      is_automate_bob(star(i))
   Next
   ;Logo Is bob Zeichnen
   is_draw_bob(isboblogo,700,90)
   ;by Silbersurfer Zeichnen
   is_draw_bob(silbersurfer,128,580)   
   ;Pacman Zeichnen
   x=x+speedx : y=y+speedy
   is_draw_bob(pacman,x,y)
   is_rotate_bob(pacman,rotate)   
   If is_Bob_x(pacman)>800 Then speedx=-speedx :rotate=-rotate
   If is_Bob_x(pacman)<0 Then speedx=-speedx :rotate=-rotate
   If is_Bob_y(pacman)>600 Then speedy=-speedy
   If is_Bob_y(pacman)<0 Then speedy=-speedy
   ;alles rendern
   UpdateWorld
   RenderWorld

   WaitTimer (tr)
   Flip 0
Until KeyHit(1)
End


Ich würde mich freuen wenn ihr die kleine Demo testen könntet um speed und probleme mit anderen Systemen zu erkennen...

der Download Link hier : http://home.arcor.de/silbersur...engine.zip
Edit: hier nun der Download der Lib : http://home.arcor.de/silbersur.../Isbob.zip
Ich bedanke mich in voraus bei euch gruss Silbersurfer

Edit:
So habe die Hilfe neu überarbeitete weil sie völlig in eile getippt war, und Ich leider viele fehler
mit den Beispielen gemacht habe...

deshalb habe ich einzelne programme geschrieben und beigefügt die in einzeln die Befehle zeigen
dann habe ich noch einen neuen Befehl hinzugefügt " Is_kill_bob "löschen sollte man sie ja auch wieder Very Happy
  • Zuletzt bearbeitet von Silbersurfer am So, Sep 19, 2010 17:56, insgesamt 3-mal bearbeitet

ozzi789

BeitragFr, Sep 17, 2010 8:23
Antworten mit Zitat
Benutzer-Profile anzeigen
948-972 fps

Q9400
P5NE-SLI
2x8800GT
Windows7 x64

Sieht ganz nice aus.
mfg
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5
 

Silbersurfer

BeitragFr, Sep 17, 2010 8:30
Antworten mit Zitat
Benutzer-Profile anzeigen
ozzi789 hat Folgendes geschrieben:
948-972 fps
Sieht ganz nice aus.
mfg


danke dir ozzi....

zur Zeit bin ich an der Hilfe Datei wenn die durch ist,
dann werde ich die Engine als Free uppen
Wink
-------------------------------------------------------
XP 2000+ 512DDR Radeon 9800 XL 340GB HD
Hompage : http://home.arcor.de/silbersurfer01/
Is Bob engine http://home.arcor.de/silbersur.../Isbob.zip

Nicdel

BeitragFr, Sep 17, 2010 13:28
Antworten mit Zitat
Benutzer-Profile anzeigen
590-630, System in der Signatur (Notebook).
Sieht gut aus und funktioniert wohl auch gut^^
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7
 

Silbersurfer

BeitragFr, Sep 17, 2010 18:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Nicdel hat Folgendes geschrieben:
590-630, System in der Signatur (Notebook).
Sieht gut aus und funktioniert wohl auch gut^^


jooo Danke Nicdel das hört sich doch gut an...
also bin Ich da auf den richtigen Weg Very Happy

Hier mal die Befehlsübersicht....

Arrow is_create_mesh()
Arrow is_create_surface(mesh,textur$,flag=1+2+4+16+32)
Arrow is_setup_layer(camera)

Arrow is_create_bob(surface,w,h)
Arrow is_grab_image(id,x#,y#,w#,h#)

Arrow is_draw_bob(id,x,y,z#=0)
Arrow is_rect_bob(id,x#,y#,w#,h#)

Arrow is_move_bob(id,x#,y#,z#=0,auto=1)
Arrow is_rotate_bob(id,angle#,auto=1)
Arrow is_scale_bob(id,scale#=1,auto=1)

Arrow is_bob_x#(id)
Arrow is_bob_y#(id)
Arrow is_bob_z#(id)

Arrow is_set_x#(id,x#)
Arrow is_set_y#(id,y#)
Arrow is_set_z#(id,z#)
Arrow is_automate_bob(id)

Arrow is_get_angle#(id)
Arrow is_get_alpha#(id)
Arrow is_get_blue(id)
Arrow is_get_red(id)
Arrow is_get_green(id)

Arrow is_color_bob(id,r,b,g)
Arrow is_alpha_bob(id,alpha#)

Arrow is_automid_bob(id)
Arrow is_pivotpoin_bob(id,x,y)

Ich denke die sollte alles nötige abdecken

was noch kommt ist die Kollision
und eine Saubere Hilfe Datei

gruss Silbersurfer
-------------------------------------------------------
XP 2000+ 512DDR Radeon 9800 XL 340GB HD
Hompage : http://home.arcor.de/silbersurfer01/
Is Bob engine http://home.arcor.de/silbersur.../Isbob.zip

skey-z

BeitragFr, Sep 17, 2010 18:48
Antworten mit Zitat
Benutzer-Profile anzeigen
~80FPS
HP530 intel Celeron 1,6GHz, Intel GMA 945, 512MB Ram

Allerdings sind die Bilder im Vordergrund, also der Pacman oder was es sein soll, sowie Logo und Schrift schwarz, nur die Sterne sind bunt.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

Silbersurfer

BeitragFr, Sep 17, 2010 19:17
Antworten mit Zitat
Benutzer-Profile anzeigen
skey-z hat Folgendes geschrieben:
~80FPS
HP530 intel Celeron 1,6GHz, Intel GMA 945, 512MB Ram

Allerdings sind die Bilder im Vordergrund, also der Pacman oder was es sein soll, sowie Logo und Schrift schwarz, nur die Sterne sind bunt.


Hmmmmm
also auf den ersten blick, kann ich nicht deuten wo das her kommen kann
der 512 RAM , bezieht er sich auf die grafikkarte ? oder auf das gesamte System.
Da Ich ja 4 Texturen a. 512 x 512 größe geladen habe

deine Grafikkarte sollte aber damit umgehen können
siehe hier

Zitat:
Der 2005 erschienene GMA 950 ist eine leicht verbesserte und auf 400 MHz (Ausnahmen sind der 945GM mit 250 MHz sowie der 940GML mit 166 MHz) beschleunigte Version des GMA 900. Die Ausstattung entspricht weitestgehend dem Vorgänger, jedoch unterstützt der Treiber des GMA 950 nun Vertex Shader 3.0. Außerdem können nun zwei HD-Videostreams gleichzeitig dekodiert werden.

Es ist wahrscheinlich, dass auch der Intel-Chipsatz 945GT den GMA 950 enthält, Intel zeichnet die dort integrierte Grafiklösung aber als Gen 3.5 Integrated Graphics aus.


hattest du schon mit anderen Singlesurface engine ähnliche Probleme ?

gruss Silbersurfer
-------------------------------------------------------
XP 2000+ 512DDR Radeon 9800 XL 340GB HD
Hompage : http://home.arcor.de/silbersurfer01/
Is Bob engine http://home.arcor.de/silbersur.../Isbob.zip

tft

BeitragFr, Sep 17, 2010 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

mich würde interesieren was es bei Fullscreen macht. Im Fenster sind es 895 FPS mit einer GS 460

Gruss TFT
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!
 

Silbersurfer

BeitragFr, Sep 17, 2010 20:40
Antworten mit Zitat
Benutzer-Profile anzeigen
tft hat Folgendes geschrieben:
Hi,

mich würde interesieren was es bei Fullscreen macht. Im Fenster sind es 895 FPS mit einer GS 460

Gruss TFT


tft also bei mir selber ist da kaum ein unterschied zu sehen, ich kann aber eine fullscreen Variante uppen

die ist dann im Beitrag Kopf zu finden.......

edit: ist jetzt in der gepackten datei enthalten einfach nochmal ziehen

gruss Silbersurfer
-------------------------------------------------------
XP 2000+ 512DDR Radeon 9800 XL 340GB HD
Hompage : http://home.arcor.de/silbersurfer01/
Is Bob engine http://home.arcor.de/silbersur.../Isbob.zip

tft

BeitragSa, Sep 18, 2010 13:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

im Fullscreen ist es bei mir langsamer. 800 FPS, kann es sein das du nicht die Desktop Auflösung verwendest?

Gruss TFT
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!
 

Silbersurfer

BeitragSa, Sep 18, 2010 18:35
Antworten mit Zitat
Benutzer-Profile anzeigen
tft hat Folgendes geschrieben:
Hi,

im Fullscreen ist es bei mir langsamer. 800 FPS, kann es sein das du nicht die Desktop Auflösung verwendest?

Gruss TFT


Hi TFT die Auflösung ist die selbe, nur das die Farbtiefe 32 Bit ist wenn dein Destop z.b 16 Bit hat ist die Engine dort schneller

So Ich bin mit der Hilfe nu durch Very Happy

Diese habe ich zur internen Hilfe angeglichen sie befindet sich im Ordner Help..
wenn Ihr wie gewoht mit der F1 Taste zur Befehls hilfe kommen wollt müsst ihr nur das
Verzeichnis "3d_commands" in euren hilfe ordner von Blitz Kopieren....

in der Userlib befindet sich die "Is Bob engine.decls" welche ihr in eurem Blitz verzeichnis Userlib Kopieren müßt

das wäre es schon

Ich hoffe das ihr mir nach einigen Testen mal Feedbeck geben könnt

viel Spaß...... Very Happy

Gruss Silbersurfer

hier der Download Link der Lib http://home.arcor.de/silbersur.../Isbob.zip
-------------------------------------------------------
XP 2000+ 512DDR Radeon 9800 XL 340GB HD
Hompage : http://home.arcor.de/silbersurfer01/
Is Bob engine http://home.arcor.de/silbersur.../Isbob.zip

skey-z

BeitragSa, Sep 18, 2010 18:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Mein Laptop hat 512MB shared Ram, das ist allerdings noch nie das Problem gewesen, ich denke es liegt an der Technik, die meine Grafikkarte nicht unterstützt, bei AVA's Programmen in OGL hat sie auch Probleme, wenn Bilder während der laufzeit generiert werden.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

Silbersurfer

BeitragSa, Sep 18, 2010 18:50
Antworten mit Zitat
Benutzer-Profile anzeigen
skey-z hat Folgendes geschrieben:
Mein Laptop hat 512MB shared Ram, das ist allerdings noch nie das Problem gewesen, ich denke es liegt an der Technik, die meine Grafikkarte nicht unterstützt, bei AVA's Programmen in OGL hat sie auch Probleme, wenn Bilder während der laufzeit generiert werden.


hi skey-z

hmm aber es ist keine aussergewöhnliche Technik, ich habe die lib geuppt probiere es mal mit nur einer Textur aus und vieleicht backface Culling ausschalten siehe hilfe

wäre nett wenn du dein Ergebnis dann hier schildern könntest....

gruss Silbersurfer
-------------------------------------------------------
XP 2000+ 512DDR Radeon 9800 XL 340GB HD
Hompage : http://home.arcor.de/silbersurfer01/
Is Bob engine http://home.arcor.de/silbersur.../Isbob.zip

Holzchopf

Meisterpacker

BeitragSa, Sep 18, 2010 19:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Silbersurfer, bitte hör auf, ganze Beiträge zu zitieren. Die Zitierfunktion ist gedacht, um aus längeren Texten Passagen rauszukopieren, auf die man sich bezieht, wenn man auf einen ganzen Beitrag Antwort gibt, ist eigentlich jegliches Zitieren überflüssig.

Ah, und kürze bitte deine Signatur, die ist ein wenig hoch Wink (Du kannst übrigens die Schrift in der Signatur mit BBCode genau so formatieren wie in Beiträgen)

mfG
Holzchopf
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm
 

Silbersurfer

BeitragSa, Sep 18, 2010 19:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Holzchopf hat Folgendes geschrieben:
Silbersurfer, bitte hör auf, ganze Beiträge zu zitieren.
Holzchopf


sorry Holzkopf ich habe das immer einfach so übernommen wenn ich auf antworten gegangen bin werde jetzt etwas darauf achten

aber was ist an meiner Singnatur auszusetzen ? ist es denn nicht mir überlassen wie ich diese Gestalte ?

gruss Silbersurfer
-------------------------------------------------------
XP 2000+ 512DDR Radeon 9800 XL 340GB HD
Hompage : http://home.arcor.de/silbersurfer01/
Is Bob engine http://home.arcor.de/silbersur.../Isbob.zip
 

Silbersurfer

Betreff: Hilfe gefixt und engine update gemacht

BeitragSo, Sep 19, 2010 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
hi leute

Habe die Hilfe überarbeitet, weil leider sooooo viele Fehler in den Beispielen waren das ich fast Rot geworden bin......

ausserdem habe ich noch die neue lib geuppt und nun auch beispiele der einzelnen Befehle hinzugefügt

und zu guter letzt noch einen neunen Befehl zugefügt...

Arrow Is_kill_bob
löschen sollte man die ja auch wieder können

gruss Silbersurfer
-------------------------------------------------------
XP 2000+ 512DDR Radeon 9800 XL 340GB HD
Hompage : http://home.arcor.de/silbersurfer01/
Is Bob engine http://home.arcor.de/silbersur.../Isbob.zip
 

Silbersurfer

Betreff: Hmmm dachte das da doch etwas mehr Feedbeck kommt

BeitragDi, Sep 21, 2010 21:21
Antworten mit Zitat
Benutzer-Profile anzeigen
hi leute,

in Moment bastel ich an einfügen von Animation
dabei habe ich mir Gedanken gemacht wie Ich das am besten umsetzen sollte...
wobei ich mich dann für das verschieben von VertexU/VertexV entschieden habe

jetzt habe ich diesbezüglich mal eine Frage an euch !

der aufbau des Befehls soll wie folgt sein

Arrow erstens eine Animation erstellen mittels den Befehl Is_create_anim(id,breite,höhe,start,ende)
Arrow zweitens die Animation später in Programm ausführen mittels den Befehl is_anim_bob(id,start,ende,time)

das habe ich auch soweit schon gelöst....
zur Zeit aber nur mit einer festen Grabgröße zb 32x32 o. 64x64 uns so weiter

die frage nun an euch, ist es sinnvoll verschiede grabgrößen zu zulassen ?
um das ganze in Singlesurface zu halten ?

oder aber man macht nur eine feste Grabgröße pro Surface ?

würde mich auf Denkanstösse und Tipps von euch sehr freuen

gruss Silbersurfer...
-------------------------------------------------------
XP 2000+ 512DDR Radeon 9800 XL 340GB HD
Hompage : http://home.arcor.de/silbersurfer01/
Is Bob engine http://home.arcor.de/silbersur.../Isbob.zip
 

BIG BUG

BeitragDi, Sep 21, 2010 21:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Bildgröße für eine Animation sollte schon beliebig sein können, also nicht nur 2er-Potenzen und auch nicht nur quadratisch -> denn auch wenn ein Pixel komplett transparent ist, so muss es doch berechnet werden. Die Grafiken sollten also wirklich nur so groß sein wie notwendig.
Manche Spritesysteme gehen sogar soweit, dass innerhalb eines Animationsstrips die Bilder auch unterschiedlich groß sein können. Bei z.B. einer Explosion würde das erste kleine Frame also auch tatsächlich nur so klein berechnet werden, das zweite dann entsprechend größer, usw.

Dass man verschiedene Bildgrößen innerhalb eines Surfaces kombinieren kann ist schon ein nettes Feature, gerade wenn man sehr viele verschieden große Gegner hat kann man da schön Platz und Performance gewinnen.
Wenn das den Code / die Handhabung aber ungleich komplexer gestaltet, könnte man in den meisten Fällen wohl auch darauf verzichten.
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)
 

Silbersurfer

BeitragDi, Sep 21, 2010 22:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
BIG BUG schrieb "also nicht nur 2er-Potenzen und auch nicht nur quadratisch"


hi BIG BUG,

aber es sollte schon die Texturgrössen beachtet werden da ja Blitz sonst interpoliert
was unschön wäre...

Zitat:
Manche Spritesysteme gehen sogar soweit, dass innerhalb eines Animationsstrips die Bilder auch unterschiedlich groß sein können


Die Idee is ja nicht schlecht, nur wird man das nicht automatisieren können denke Ich.
Da würde man wohl einen art Anim Grabber Tools Basteln müssen um diese dann Manual zu picken

was aber von Ding her eine gute Idee wäre....... Very Happy

danke dir BIG BUG das lasse ich mir gut durch den Kopf gehen
-------------------------------------------------------
XP 2000+ 512DDR Radeon 9800 XL 340GB HD
Hompage : http://home.arcor.de/silbersurfer01/
Is Bob engine http://home.arcor.de/silbersur.../Isbob.zip

Xeres

Moderator

BeitragDi, Sep 21, 2010 22:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Fenster: ~600 FPS, Vollbild: 1 FPS/hängt ?!
Erwarte nicht zuviel Lobgesang; nur Kritik gibt es gleich, der Rest braucht eine Weile sich mit der Engine zu Beschäftigen - also Geduldig sein Wink
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Projekte

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group