Hallo Sos! Dieser bug ist uns leider auch schon aufgefallen! Es sollte eigentlich nicht so sein! Denke aber, das Deeem2013 das Problem schon lösen bzw fixen wirdSoS hat geschrieben:ist das normal das die 256x256 Textur so aussieht ?
DirectX9-Lib (V. 0.58)
Möglicherweise bugs in SpriteDX9 v0.52:
Im Beispiel sollte einte Texture erstellt und später auf dem bildschirm angezeigt werden! Wie wir jedoch schon selbst festgestellen mußten, kann es sein, das die erstellte Texture kaputt angezeigt wird! Es ist der gleiche bug, den SoS kurz zuvor schon hier geposted hat! Nochmals Danke! 
Vor wenigen minuten hab ich wohl einen weiteren bug entdeckt, der aber nicht so schwer zu fixen sein sollte! Wenn du z.b. eine box mit den werten
x=0, y=90, width=800, height=100 in color $ffffff (white) zeichnest, wird diese wie folgt dargestellt...
Daher wird z.b. eine 800x100 große box wie eine 800x10 gezeichnet (scheint nur ein kleiner bug zu sein 
Wenn man im IDE ein keyword schreibt und F1 für die hilfe drückt, so wird diese geöffnet (voraussetzung, diese ist richtig installiert).... jedoch startet die Hilfe mit einer "nicht gefundenen Seite"... Daher einfach links in das Menü/struktur klicken und es geht...
Benutz das original Beispiel und setze \bottom und \right von Texture_DisplaySettings\pSrcRect\ auf 256 und startes es mit einer netten 256x256 texture die du zuvor einlädst...! (wie zuvor berichtet, kann es sein, das nur die CreatedTexture kaputt angezeigt wird).
Nun setz den LoadTexture teil in ";" ... nun starte das beispiel nochmal und du wirst evtl. überrascht sein...!? Bei mir tritt folgende phänomen auf... Die CreatedTexture zeigt nun (obwohl wir keine texture eingeladen haben), die alte geladene texture an (vom programmstart zuvor)... scheint als wäre dort ein etwas größerer bug!? (obwohl ich am ende immer FreeTexture() aufrufe, so scheint diese nicht wirklich im speciher gelöscht zu sein!?
So, ich geh jetzt ins bett.. hab selbst schon probleme hier das noch halbwegs vernünftig zu formulieren bzw noch zu sehen was ich schreibe
gute nacht.. 
Flags sind nicht im helpfile aufgelistet..
Code: Alles auswählen
hTexture2 = CreateTextureDX9(256,256)
Code: Alles auswählen
HelpFile: BoxDX9(x,y,width,height,color)
BoxDX9(0, 90,800,100,$0)
x=0, y=90, width=800, height=100 in color $ffffff (white) zeichnest, wird diese wie folgt dargestellt...
Code: Alles auswählen
Macht zur Zeit folgendes: BoxDX9(x,y,width,height-y,color)
BoxDX9(0, 90,800,100-90,$0)
Code: Alles auswählen
HelpFiles
Code: Alles auswählen
hTexture_DisplaySettings\pSrcRect\bottom = 256
hTexture_DisplaySettings\pSrcRect\right = 256
; hTexture = LoadTextureDX9("d:\DX9Texture16.bmp") ;You should free the texture before you exit the program the library don't do it by itself (supports the following file formats: .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm, .tga)
; If hTexture = 0
; CloseScreenDX9()
; Debug "Couldn't load the texture!"
; End
; EndIf
Nun setz den LoadTexture teil in ";" ... nun starte das beispiel nochmal und du wirst evtl. überrascht sein...!? Bei mir tritt folgende phänomen auf... Die CreatedTexture zeigt nun (obwohl wir keine texture eingeladen haben), die alte geladene texture an (vom programmstart zuvor)... scheint als wäre dort ein etwas größerer bug!? (obwohl ich am ende immer FreeTexture() aufrufe, so scheint diese nicht wirklich im speciher gelöscht zu sein!?
So, ich geh jetzt ins bett.. hab selbst schon probleme hier das noch halbwegs vernünftig zu formulieren bzw noch zu sehen was ich schreibe
Code: Alles auswählen
StartDX9([flags]) - HELPFILE
Wie ich schon dir gesagt habe, das ist kein Bug. Die Texture wird lediglich nicht geleert nachdem sie geladen wurde, desswege ist es auch kein wunder das du deine alte Textur mal siehst wenn du CreateTexture benutzt.merlin hat geschrieben:Möglicherweise bugs in SpriteDX9 v0.52:
Im Beispiel sollte einte Texture erstellt und später auf dem bildschirm angezeigt werden! Wie wir jedoch schon selbst festgestellen mußten, kann es sein, das die erstellte Texture kaputt angezeigt wird! Es ist der gleiche bug, den SoS kurz zuvor schon hier geposted hat! Nochmals Danke!Code: Alles auswählen
hTexture2 = CreateTextureDX9(256,256)
Hm, uss ich wohl die Hilfe dazu ändern, muss eigentlich (x1,y1,x2,y2,color) heißen.merlin hat geschrieben:Vor wenigen minuten hab ich wohl einen weiteren bug entdeckt, der aber nicht so schwer zu fixen sein sollte! Wenn du z.b. eine box mit den wertenCode: Alles auswählen
HelpFile: BoxDX9(x,y,width,height,color) BoxDX9(0, 90,800,100,$0)
x=0, y=90, width=800, height=100 in color $ffffff (white) zeichnest, wird diese wie folgt dargestellt...
Daher wird z.b. eine 800x100 große box wie eine 800x10 gezeichnet (scheint nur ein kleiner bug zu seinCode: Alles auswählen
Macht zur Zeit folgendes: BoxDX9(x,y,width,height-y,color) BoxDX9(0, 90,800,100-90,$0)
Kann ich nachvollziehen, aber ich hab kein Plan woran es liegt...merlin hat geschrieben:Wenn man im IDE ein keyword schreibt und F1 für die hilfe drückt, so wird diese geöffnet (voraussetzung, diese ist richtig installiert).... jedoch startet die Hilfe mit einer "nicht gefundenen Seite"... Daher einfach links in das Menü/struktur klicken und es geht...Code: Alles auswählen
HelpFiles
FreeTexture() löscht ja auch nicht den Bereich wo das Bild liegt, sondern die Daten um die Texture zu handhaben, wär ja total unsinnig zuerst noch den Buffer mit 0en zu füllen bevor man es löscht.merlin hat geschrieben:Benutz das original Beispiel und setze \bottom und \right von Texture_DisplaySettings\pSrcRect\ auf 256 und startes es mit einer netten 256x256 texture die du zuvor einlädst...! (wie zuvor berichtet, kann es sein, das nur die CreatedTexture kaputt angezeigt wird).Code: Alles auswählen
hTexture_DisplaySettings\pSrcRect\bottom = 256 hTexture_DisplaySettings\pSrcRect\right = 256 ; hTexture = LoadTextureDX9("d:\DX9Texture16.bmp") ;You should free the texture before you exit the program the library don't do it by itself (supports the following file formats: .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm, .tga) ; If hTexture = 0 ; CloseScreenDX9() ; Debug "Couldn't load the texture!" ; End ; EndIf
Nun setz den LoadTexture teil in ";" ... nun starte das beispiel nochmal und du wirst evtl. überrascht sein...!? Bei mir tritt folgende phänomen auf... Die CreatedTexture zeigt nun (obwohl wir keine texture eingeladen haben), die alte geladene texture an (vom programmstart zuvor)... scheint als wäre dort ein etwas größerer bug!? (obwohl ich am ende immer FreeTexture() aufrufe, so scheint diese nicht wirklich im speciher gelöscht zu sein!?
Habs geändert.merlin hat geschrieben:Flags sind nicht im helpfile aufgelistet..Code: Alles auswählen
StartDX9([flags]) - HELPFILE

[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Version 0.53:
-RGBA(R,G,B,A) hinzugefügt
-DrawingBufferSupport für Texturen (DrawingBufferStartTextureDX9()/DrawingBufferStopTextureDX9())
-die DrawingBuffer Proceduren sind jetzt Threadsicher und enthalten desswegen jetzt einen *DrawingBuffer.D3D9_DrawingBuffer Parameter.
-DrawingBufferDX9() entfernt
-DrawingBufferPitchDX9() entfernt
-RGBA(R,G,B,A) hinzugefügt
-DrawingBufferSupport für Texturen (DrawingBufferStartTextureDX9()/DrawingBufferStopTextureDX9())
-die DrawingBuffer Proceduren sind jetzt Threadsicher und enthalten desswegen jetzt einen *DrawingBuffer.D3D9_DrawingBuffer Parameter.
-DrawingBufferDX9() entfernt
-DrawingBufferPitchDX9() entfernt

[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
@SoS:SoS hat geschrieben:hab mal getestet und die 256x256 textur sieht nun normal aus
debugoutput:
0 <- 24 bit macht meine karte nicht mit
24125952
1024
4
Was für eine Karte hast du? Bei mir ist das gleiche... Ich kann zwar unter Windows den screen auf 16/24/32 bit stellen und es funkioniert... Jedoch kann ich bei dm Grafikkarten-Prefs-Tool von ATI nur zwischen 16 und 32 bit wählen... (selbst dort gibt es kein 24 bit!)
Daher vermute ich mal, das die karte technisch nur echte 16 und 32 bit darstellen kann! Wenn du jedoch über system auf 24 stellst, das dieses irgendwie emuliert wird oder wie auch immer (zumale 24 bit eh recht langsam ist)
Heut gibts wohl keine Grafikkarten mehr die 24bit unterstützen...
Version 0.54:
-BoxDX9 fixed
-LoadSpriteDX9() added
-DisplaySpriteDX9() added
-FreeSpriteDX9() added
-CreateSpriteDX9() added
Bei mir läuft LoadSpriteDX9() komischerweise aber nicht, er erstellt zwar das Sprite, kann es dann aber nicht laden. Vielleicht funktionierts ja bei euch...
[Edit] Hab noch vergessen, dass man ja jetzt bei DrawingBufferStart/StopDX9() einen hSprite-Parameter angeben kann.
Version 0.54:
-BoxDX9 fixed
-LoadSpriteDX9() added
-DisplaySpriteDX9() added
-FreeSpriteDX9() added
-CreateSpriteDX9() added
Bei mir läuft LoadSpriteDX9() komischerweise aber nicht, er erstellt zwar das Sprite, kann es dann aber nicht laden. Vielleicht funktionierts ja bei euch...
[Edit] Hab noch vergessen, dass man ja jetzt bei DrawingBufferStart/StopDX9() einen hSprite-Parameter angeben kann.

[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]