schreiben auf extra bildschirm statt zwischen flip

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

super_castle

Betreff: schreiben auf extra bildschirm statt zwischen flip

BeitragSa, März 18, 2006 10:40
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo, ich schreibe texte und grafiken (pixel, linien) immer zwischen renderworld und flip.
gibt es eine möglichkeit die in einem anderen unsichtbaren bilschirm zu schreiben, der geflipt wird ohne das man den text und die grafiken neu zeichnen muss zwischen renderworld und flip?

RenderWorld
LockBuffer BackBuffer()
For a=420 To 550
WritePixelFast a-50,a,0
Next
UnlockBuffer BackBuffer()
Text 10,450,"Benutze Cursortasten!"
Flip
 

Dreamora

BeitragSa, März 18, 2006 11:44
Antworten mit Zitat
Benutzer-Profile anzeigen
lockbuffer imagebuffer(irgend_ein_bild)

lockbuffer texturebuffer(irgend_eine_textur)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

d-bug

BeitragSa, März 18, 2006 11:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Sag mal Super_Castle, meinst du nicht es würde genügen nur einen
Thread für ein Thema auf zu machen ?

https://www.blitzforum.de/viewtopic.php?t=17018 scheint mir die gleiche Frage zu beinhalten wie dieser Thread hier.

cheers
 

super_castle

BeitragSa, März 18, 2006 11:54
Antworten mit Zitat
Benutzer-Profile anzeigen
versteh ich nicht ganz.
ich möchte dieses vor der while-wend ausführung bzw zeichnen und dann nachher nur noch vor flip aufrufen. evtl in einer if-abfrage was neues zeichnen was dann auch wiederum vor flip gezeichnet werden soll.
kannst du mal ein kurzes beispiel proggen.

" For a=420 To 550
WritePixel a-50,a,0
Next
"
 

super_castle

BeitragSa, März 18, 2006 11:55
Antworten mit Zitat
Benutzer-Profile anzeigen
in b2d kannste löschen. danke.
 

Dreamora

BeitragSa, März 18, 2006 12:08
Antworten mit Zitat
Benutzer-Profile anzeigen
ImageBuffer(image) erlaubt dir, mit Writepixel direkt in ein Bild zu zeichnen, was du danach zeichnen kannst. Dann musst du nicht jedes Frame drauf zeichnen, wenn sich das was auf dem Image ist, garnicht verändert wurde. Spart dir zeit Smile

Dito bei TextureBuffer, nur dass du da halt auf eine Textur zeichnest die du dann auf ein Objekt vor der Kamera papen kannst.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

d-bug

BeitragSa, März 18, 2006 12:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, du erstellst vor deiner Schleife ein Image mit ql:CreateImage auf dem
du dann ebenfalls vor der Schleife deine Linien,Texte und Pixel einträgst.
Dazu mußt du kurzfristig den ql:Imagebuffer deines Images als den aktuellen
setzen (mit Setbuffer Imagebuffer(deinImage)) und dann ganz normal mit
ql:Text usw. darauf zeichnen. Du solltest allerdings nicht vergessen den
ql:Backbuffer wieder als den aktuellen zu setzen, nachdem du alles gezeichnet hast.

In deiner Hauptschleife brauchst du dann nur noch das Image zu zeichnen
und mußt nicht mehr alle Zeichenbefehle ausführen.

Leider ist das oben beschriebene Vorgehen nicht gerade besonders gut
für dynamische Dinge geeignet.

[Edit]naja, Dreamora war etwas schneller...[/Edit]

cheers
 

super_castle

BeitragSa, März 18, 2006 13:34
Antworten mit Zitat
Benutzer-Profile anzeigen
vielen dank, klappt wunderbar für meine experiemente.
ich übertrage von einer gameboycam bilder vom roboter über funk(rs232) und stelle die punkte(128x128) als bild in das fenster dar, was ihr mir beschrieben habt.

die rs232-dll habe ich mit purebasic erstellt. tolle sache , geht schnell und einfach und man kann auch die anderen schnellen routinen von purebasic in einer dll packen und mit b3d verwenden. das banksystem von b3d ist erste sahne dafür.

nun versuche ich in b3d noch ein webcambild/wintv-karte anzusprechen.
habe aber noch keinen anfangssourcecode hier gefunden.

mfg castle

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group