Seite 1 von 2

[4.40 B7] Warum geht UseBuffer() nicht mehr?

Verfasst: 26.11.2009 14:57
von Lebostein
Hi,

hab seit langem mal wieder was mit PB gemacht. Hat sich ja einiges verändert seit der 4.00. Konnte bisher alle Codes gut auf den neuesten Stand bringen, nur eines funktioniert nicht mehr: UseBuffer.

Die Hilfe schreibt immer noch den gleichen Text. Hat sich da irgendwas in der Anwendung dieses Befehls geändert?

Code: Alles auswählen

#mysprite = 0

InitSprite()
OpenScreen(800, 600, 32, "test")

CreateSprite(#mysprite, 512, 512)
UseBuffer(#mysprite)
ClearScreen($FF0000)
UseBuffer(#PB_Default)
SaveSprite(#mysprite, "x.bmp")
--> schwarzes Bild. :(

Re: [4.40 B7] Warum geht UseBuffer() nicht mehr?

Verfasst: 26.11.2009 15:11
von Kaeru Gaman
die (deutsche) Help ist auf dem Stand für 4.31

seit 4.40b7 ist DX9 Default Subsystem, nicht mehr DX7.
unter DX9 funktioniert UseBuffer aber anders oder garnicht, genau weiß ichs grad nicht.

du musst also in den Compiler-Einstellungen bei Subsystem "DirectX7" eintragen, wenn du UseBuffer wie bisher benutzen willst.

Re: [4.40 B7] Warum geht UseBuffer() nicht mehr?

Verfasst: 26.11.2009 16:15
von Lebostein
Klappt! Danke.

Re: [4.40 B7] Warum geht UseBuffer() nicht mehr?

Verfasst: 28.11.2009 10:48
von Sebastian
Und wie verwirklicht man dann mit directx9 Grafikarbeiten auf einem Sprite?

Re: [4.40 B7] Warum geht UseBuffer() nicht mehr?

Verfasst: 28.11.2009 14:51
von STARGÅTE
tia, das frage ich mich auch schon seit es den BUG gibt :lol:

Da die wege üder Image-Befehle (Drawing usw.), die man bräuchte um aus Sprites zu zeichnen weil kein UseBuffer geht, die vorteile von DX9 gegenüber DX7 wieder kaputmachen, bleibe ich derzeit bei DX7, obwohl und hoffe später irgendwann auf DX9 umschalten zu könnne ...

Re: [4.40 B7] Warum geht UseBuffer() nicht mehr?

Verfasst: 30.11.2009 10:14
von Arthur
Ich hatte die Frage mal an Fred im englischen Forum gerichtet aber nie ne Antwort bekommen :( das ist schlechter Kundenservice -.-

MfG
Arthur

Re: [4.40 B7] Warum geht UseBuffer() nicht mehr?

Verfasst: 03.12.2009 09:30
von Lebostein
Selbst mit der 4.40 Final ist der Bug noch drin. In dem Zustand hätte man doch erstmal DirectX7 als Standard lassen können, solange DirectX9 noch nicht funktioniert. Andere störende Nebenwirkung: Sobald man DirectX7 als Subsystem angibt, springt mein Virenscanner derart hartnäckig an, dass sich der Code nicht mehr kompilieren lässt....

Re: [4.40 B7] Warum geht UseBuffer() nicht mehr?

Verfasst: 28.01.2010 14:24
von wolle212
Ich bin eben auch über diesen Fehler gestolpert, habe mich gewundert warum mein Programm als native Linux-Executable funktioniert, aber als ich es unter Wine dem Windows-PureBasic kompiliert hatte, war auf einmal der Hintergrund schwarz :)

Re: [4.40 B7] Warum geht UseBuffer() nicht mehr?

Verfasst: 31.07.2010 21:04
von Epyx
Hmm möglich das ich mich irre, bin ja net mehr so drin im Thema aber kann es sein das in der derzeitigen Final 4.5 immer noch nicht Funktioniert ??

Re: [4.40 B7] Warum geht UseBuffer() nicht mehr?

Verfasst: 31.07.2010 21:07
von STARGÅTE
es liegt nicht direkt an einer PB version, sonden daran das DX9 statt DX7 verwendet wird.

mit DX7 funzt UseBuffer() ohne probleme ...
wann es mit DX9 läuft .... Bild