Seit gegrüßt liebe PureBasic-Gemeinde,
ich habe da mal noch eine Frage.
Wie könnte ich das PureBasic-Sprite-Management mit ScreenFilter(Shader) nutzen ?
Ich bekomme es bisher nur mit Image-Daten als Texture hin.
Innerhalb der Render-Prozedure habe ich:
Code: Alles auswählen
If StartDrawing(ScreenOutput())
Box(0,0,ScreenWidth(), ScreenHeight(), RGB(255,0,0))
DrawImage(ImageID(0), x, y, 20, 20)
GrabDrawingImage(image, 0, 0, ScreenWidth(), ScreenHeight())
StopDrawing()
glSpriteTexture = SetupGLTexture(image)
EndIf
Mit "GrabDrawingImage" möchte ich somit den gesamten Screeninhalt als Bild übergeben.
Das funktioniert auch wunderbar, aber nicht mit Sprites.
Ich habe alles auf Screen umgestellt und innerhalb der "SetupGLTexture(ImageHandle.i)"-Prozedure am Ende ein FreeImage(ImageHandle) hinzugefügt, weil es sonst zu Speicherfehlern kommt.
Also wenn man vorher mit DisplaySprite, ... ein Sprite auf den Screen rendern, und danach als Image dem Shader übergeben möchte, klappt das so noch nicht bei mir.
"GrabDrawingImage" nimmt nur den aktuellen Inhalt des Drawing-Blocks und ignoriert alles davor.
Daher brauche ich eine bessere Lösung.