bildschirminhalt in 1024*1024 textur packen (gelöst)

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

bjh

Betreff: bildschirminhalt in 1024*1024 textur packen (gelöst)

BeitragMi, Nov 16, 2011 21:49
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo,

ich versuche gerade etwas wie blur zu programmieren.

ich will den bildschirminhalt verzerrt oder verschoben in einer textur auf einem quad vor meiner cam zeichnen.

wenn ich eine 1024*1024 textur verwende läuft es mit createtimer(60) auch mit 60 fps. aber wenn die textur größer als 1024*1024 ist, dann hab ich nurnoch 30 fps oder so.

ich habe vorhin einfach in der mitte des bildschirms das 1024*1024 rechteck genommen.
hat gut funktioniert, aber ich will den rand auch noch in der textur haben.

wenn es nicht auf realtime fähig ankommt, könnte man es so machen:
BlitzBasic: [AUSKLAPPEN]

image=CreateImage(1600,1200)
textur=CreateTexture(1024,1024)

While Not KeyHit(1)
CopyRect 0,0,1600,1200,0,0,BackBuffer(),ImageBuffer(image)
ResizeImage image,1024,1024
;und noch in textur einfügen
Wend
End


aber es muss doch auch eine andere möglichkeit geben.

ich könnte natürlich auch die auflösung runterschrauben, aber das will ich nicht.

ich hoffe jemand hat das schon mal in der art gemacht und kann mir helfen.
  • Zuletzt bearbeitet von bjh am Do, Nov 17, 2011 17:19, insgesamt 2-mal bearbeitet
 

bjh

BeitragMi, Nov 16, 2011 21:52
Antworten mit Zitat
Benutzer-Profile anzeigen
bitte löschen

ist aus versehen passiert

ZaP

BeitragMi, Nov 16, 2011 21:52
Antworten mit Zitat
Benutzer-Profile anzeigen
ResizeImage ist langsam. Wieso kopierst Du nicht direkt vom BackBuffer in den TextureBuffer mit 2048² Textur, und passt die UV Koordinaten des Quads entsprechend an?
Starfare: Worklog, Website (download)
 

bjh

BeitragMi, Nov 16, 2011 21:53
Antworten mit Zitat
Benutzer-Profile anzeigen
dann läuft es aus irgendeinem grund nur mit 30 fps

ZaP

BeitragMi, Nov 16, 2011 23:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Auch wenn Du ohne ImageBuffer/ResizeImage arbeitest?
Starfare: Worklog, Website (download)

NightPhoenix

BeitragMi, Nov 16, 2011 23:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Das wichtigste ist dies hier...

Code: [AUSKLAPPEN]

gx = GraphicsWidth()
gy = GraphicsHeight()
blurtexture = CreateTexture(gx, gy, 256)
CopyRect 0 , 0 , gx , gy , 0 ,0 ,  BackBuffer() , TextureBuffer(blurtexture)


Wichtig ist, dass du die blurtexture in den VRAM lädst (diese 256 da am Ende... nennt sich auch "Flag 256") (VRAM ist der Video-RAM auf der Grafikkarte -> schnellere Bandbreite zum verarbeitenden Grafikchip).
Außerdem kannst du ruhig die blurtexture so groß wie deine Auflösung machen.
 

bjh

BeitragMi, Nov 16, 2011 23:49
Antworten mit Zitat
Benutzer-Profile anzeigen
danke,

müsste ja so funktionieren
probier ich gleich aus
 

bjh

BeitragDo, Nov 17, 2011 0:24
Antworten mit Zitat
Benutzer-Profile anzeigen
vielen dank nochmal
alles funktioniert wunderbar Very Happy

Xeres

Moderator

BeitragDo, Nov 17, 2011 5:55
Antworten mit Zitat
Benutzer-Profile anzeigen
@bjh: Aus versehen mal doppelt was posten ist kein Ding, aber ansonsten: Benutzt den Edit-Button! Darfst dem Titel des Start-posts auch gerne ein "gelöst" anfügen.
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)

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group