PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit MultiSample unter Direct3D


andi0310
2009-03-06, 12:07:11
Hallo !
Ich habe folgendes Problem.
MultiSample lässt sich einfach nicht aktivieren.
Mit DirectX Cpas Viewer habe ich alles überprüfft.
NVIDIA GeForce 8800 GTS
-> D3D DeviceType
-> HAL
-> AdapterFormats
-> D3DFMT_R5G6B5
->Renderformat Compatible
->D3DFMT_R5G6B5
-> D3DMULTISAMPLE_NONMASKABLE ( 8 Level )
-> Compatible Depth/Stencil
-> D3DFMT_D24S8

Meine Einstellungen in den PresentParams ist folgender massen.

BackBufferWidth=800
BackBufferHeight=600
BackBufferFormat=D3DFMT_R5G6B5
BackBufferCount=1
MultiSampleType=D3DMULTISAMPLE_NONMASKABLE
MultiSampleQuality=4
SwapEffect=D3DSWAPEFFECT_DISCARD
hDeviceWindow entspricht FensterAdr
Windowed=0
EnableAutoDepthStencil=1
AutoDepthStencilFormat=D3DFMT_D24S8
Flags=D3DPRESENTFLAG_LOCKABLE_BACKBUFFER | D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL
FullScreenRefreshRateInHz=60
PresentationsInterval=D3DPRESENT_INTERVAL_DEFAULT

Die Funktionen:
CheckDeviceType, CheckDeviceFormat,
CheckDepthStencilMatch,CheckDeviceMultiSampleType

bestätigen jeweils mit D3D_OK
und die DWORD Variable für die Multisample-stuffen wird auf 8 gesetzt.

BeHaviorFlag=D3DCREATE_MIXED_VERTEXPROCESSING

Wenn ich jetzt CreateDevice aufrufe bekomme ich kein D3D_OK zurück,
nur wenn ich MultiSampleType auf D3DMULTISAMPLE_NONE und MultiSampleQuality auf 0 setze wird der eingetsellte Display aufgebaut und D3D_OK zurückgegeben.

Ich weiss mir absolut keinen Rat mehr, da ja auch andre Spiele bei mir mit Anti-Aliasing laufen.

Kann mir irgendjeman helfen ?

Xmas
2009-03-06, 13:02:09
Die Doku zu CreateDevice sagt folgendes:
Back buffers created as part of the device are only lockable if D3DPRESENTFLAG_LOCKABLE_BACKBUFFER is specified in the presentation parameters. (Multisampled back buffers and depth surfaces are never lockable.)

andi0310
2009-03-06, 13:33:08
Ich habe D3DPRESENTFLAG_LOCKABLE_BACKBUFFER entfernt und tatsächlich war das, dass Problem.
Ich bin dir sehr Dankbar !