DirectX9-Lib (V. 0.58)

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

"HDR wird in DirectX ab Pixel-Shader 3.0 unterstützt"

Und hab glaub ich nur 2.0, wird also warscheinlich erstma nichts.


Version 0.4:
Neu: CheckResolutionDX9(width, height, depth)

@SoS: Versuch mal ob bei dir CheckResolutionDX9(800,600,32) True zurückgibt.
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
SoS
Beiträge: 340
Registriert: 29.08.2004 09:31
Kontaktdaten:

Beitrag von SoS »

Code: Alles auswählen

InitSpriteDX9()
Debug CheckResolutionDX9(800,600,32)
= 0
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

Sry, die Version war buggy, hab nochmal eine gefixte Version hochgeladen.
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

Noch'n Update: V. 0.41

Änderung: CheckResolutionDX9(width,height,depth) -> CheckResolutionDX9(depth, flags)
(Die Width und Height Parameter waren überflüssig)

Neu:
#PB_D3D_Windowed (beta)
#PB_D3D_Software

@SoS: Versuchs dann mal damit:

Code: Alles auswählen

If OpenScreenDX9(800,600,32,":)",#PB_D3D_Windowed)
  SetWindowPos_(WindowID(),#HWND_TOPMOST,0,0,0,0,#SWP_NOSIZE|#SWP_NOMOVE)
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

Ich weiß jetzt woran es liegt: Du hast die D3DX9_24.dll nicht auf deinem Computer, welche aber für LoadTextureDX9() gebraucht wird.
Also entweder du lädst die Date z.B. von http://www.dll-files.com/dllindex/dll-f ... l?d3dx9_24 in dein System32-Ordner, oder wartest auf die nächste Version, in der dann zwar OpenScreenDX9() funktionieren wird, LoadTextureDX9() aber nicht.
Warscheinlich bastel ich dann auch noch eine LoadTexture-Proc die ohne die dll läuft, aber bis dahin braucht ihr die DLL um eine Texture zu laden.
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
SoS
Beiträge: 340
Registriert: 29.08.2004 09:31
Kontaktdaten:

Beitrag von SoS »

genau das war es,warum ich die dll nicht hatte kann ich mir nur so erklären das die hardwareabhängig installiert wird.
Zumindest kam ich bisher immer ohne diese dll aus .
:allright:
merlin
Beiträge: 157
Registriert: 30.07.2005 22:15

Beitrag von merlin »

Deeem2031 hat geschrieben:Ich weiß jetzt woran es liegt: Du hast die D3DX9_24.dll nicht auf deinem Computer, welche aber für LoadTextureDX9() gebraucht wird.
:wink:
@Deeem2031: Das example scheint mit der 0.41 lib soweit zu laufen! Jedoch ist mir eine kleinigkeit bei CheckResolutionDX9() aufgefallen...

CheckResolutionDX9( 8,#PB_D3D_Windowed) ; return 0
CheckResolutionDX9(16,#PB_D3D_Windowed) ; return 1
CheckResolutionDX9(24,#PB_D3D_Windowed) ; return 0
CheckResolutionDX9(32,#PB_D3D_Windowed) ; return 1

CheckResolutionDX9( 8,#PB_D3D_Software) ; return 0
CheckResolutionDX9(16,#PB_D3D_Software) ; return 1
CheckResolutionDX9(24,#PB_D3D_Software) ; return 0
CheckResolutionDX9(32,#PB_D3D_Software) ; return 1

My card supports 8,16,24,32 bit modes! (seems there is something wrong!?)

Edit:
Wenn WindowedMode, fenster ist zentriert und ohne WindowBorder/Gadgets... (evtl. später optional als Flag!?) - Denke das es sicher später igendwann noch reinkommt und daher z.zt. kein bug ist!?
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

SoS hat geschrieben:Zumindest kam ich bisher immer ohne diese dll aus.
Warscheinlich spielst du nich genug Spiele ;)
Bei manchen Spielen ist diese DLL nämlich dabei, darum hatten paar Leute auch die Lib und manche nicht.
merlin hat geschrieben:Jedoch ist mir eine kleinigkeit bei CheckResolutionDX9() aufgefallen...

CheckResolutionDX9( 8,#PB_D3D_Windowed) ; return 0
CheckResolutionDX9(16,#PB_D3D_Windowed) ; return 1
CheckResolutionDX9(24,#PB_D3D_Windowed) ; return 0
CheckResolutionDX9(32,#PB_D3D_Windowed) ; return 1

CheckResolutionDX9( 8,#PB_D3D_Software) ; return 0
CheckResolutionDX9(16,#PB_D3D_Software) ; return 1
CheckResolutionDX9(24,#PB_D3D_Software) ; return 0
CheckResolutionDX9(32,#PB_D3D_Software) ; return 1

My card supports 8,16,24,32 bit modes! (seems there is something wrong!?)
8-Bit wird von der Library nicht unterstützt. 24-bit müsste eigentlich funktionieren, solange die Grafikkarte das mitmacht... Sicher das 24-bit funktioniert?
merlin hat geschrieben:Edit:
Wenn WindowedMode, fenster ist zentriert und ohne WindowBorder/Gadgets... (evtl. später optional als Flag!?) - Denke das es sicher später igendwann noch reinkommt und daher z.zt. kein bug ist!?
Genau so ist es :)
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
SoS
Beiträge: 340
Registriert: 29.08.2004 09:31
Kontaktdaten:

Re: DirectX9-Lib (V. 0.5)

Beitrag von SoS »

Deeem2031 hat geschrieben: seit 0.5
DrawingBufferStartDX9()
DrawingBufferDX9()
DrawingBufferPitchDX9()
DrawingBufferPlotDX9(x,y, RGB)
DrawingBufferStopDX9()
Könntest du dafür mal ein kurzes Beispiel für die Anwendung geben ?
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

Irgendwie beachtet niemand mein Beispiel auf der 1. Seite...

Naja, hier nochmal: (funzt nicht mit #PB_D3D_AntiAliasing* (in der nächsten Version funktioniert AntiAliasing endlich ;) ) und DrawingBufferPlotDX9() unterstützt auch bisher nur den 32-bit Modus)

Code: Alles auswählen

*p.LONG = DrawingBufferStartDX9() ;return the DrawingBuffer, same to DrawingBufferDX9()
    If *p
      Pitch = DrawingBufferPitchDX9()
      
      For y = 0 To 2*256-1
        For x = 0 To 2*256-1
          DrawingBufferPlotDX9(x,y,RGB($FF,x%256,y%256))
        Next
      Next
      DrawingBufferStopDX9()
    EndIf
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Antworten