Seite 8 von 13

Verfasst: 28.08.2005 02:49
von merlin
SoS hat geschrieben:ist das normal das die 256x256 Textur so aussieht ?
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 wird ;-) Trotzdem danke für den bug report! ;)

Verfasst: 28.08.2005 03:42
von merlin
Möglicherweise bugs in SpriteDX9 v0.52:

Code: Alles auswählen

hTexture2 = CreateTextureDX9(256,256)
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

HelpFile: BoxDX9(x,y,width,height,color)

BoxDX9(0, 90,800,100,$0)
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...

Code: Alles auswählen

Macht zur Zeit folgendes: BoxDX9(x,y,width,height-y,color)

BoxDX9(0, 90,800,100-90,$0)  
Daher wird z.b. eine 800x100 große box wie eine 800x10 gezeichnet (scheint nur ein kleiner bug zu sein ;-)

Code: Alles auswählen

HelpFiles
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

  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
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.. 8)

Code: Alles auswählen

StartDX9([flags]) - HELPFILE
Flags sind nicht im helpfile aufgelistet..

Verfasst: 28.08.2005 10:09
von Deeem2031
merlin hat geschrieben:Möglicherweise bugs in SpriteDX9 v0.52:

Code: Alles auswählen

hTexture2 = CreateTextureDX9(256,256)
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! ;)
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:

Code: Alles auswählen

HelpFile: BoxDX9(x,y,width,height,color)

BoxDX9(0, 90,800,100,$0)
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...

Code: Alles auswählen

Macht zur Zeit folgendes: BoxDX9(x,y,width,height-y,color)

BoxDX9(0, 90,800,100-90,$0)  
Daher wird z.b. eine 800x100 große box wie eine 800x10 gezeichnet (scheint nur ein kleiner bug zu sein ;-)
Hm, uss ich wohl die Hilfe dazu ändern, muss eigentlich (x1,y1,x2,y2,color) heißen.
merlin hat geschrieben:

Code: Alles auswählen

HelpFiles
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...
Kann ich nachvollziehen, aber ich hab kein Plan woran es liegt...
merlin hat geschrieben:

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
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!?
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:

Code: Alles auswählen

StartDX9([flags]) - HELPFILE
Flags sind nicht im helpfile aufgelistet..
Habs geändert.

Verfasst: 28.08.2005 22:42
von Deeem2031
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

Verfasst: 28.08.2005 23:46
von SoS
hab mal getestet und die 256x256 textur sieht nun normal aus ;)

debugoutput:

0 <- 24 bit macht meine karte nicht mit
24125952
1024
4

Verfasst: 28.08.2005 23:50
von merlin
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
@SoS:
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)

Verfasst: 29.08.2005 00:01
von SoS
ATI 9700 pro

Ich kann auch nur zwischen 16/32 bit auflösung auswählen,24 bit werden nicht unterstützt (hatte mal ein Programm das nur mit 24 bit läuft und das tut es mit meiner Grafikkarte nicht)

Verfasst: 30.08.2005 09:30
von Deeem2031
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.

Verfasst: 30.08.2005 10:39
von SoS
LoadSpriteDX9() läuft bei mir auch nicht,egal welche grösse und dateityp

Verfasst: 30.08.2005 19:01
von merlin
SoS hat geschrieben:LoadSpriteDX9() läuft bei mir auch nicht,egal welche grösse und dateityp
hier ist gleiche prob..