При от далении камеры
все начинает рисоваться не правильно - обьекты которые находятся выше почему то рисуются ниже чем те которые выше
такое ощущение что Z буффер работает не правильно
подскажите че делать
вот скриншот
Модератор: Mikle
If Direct3D.CheckDeviceFormat(D3DADAPTER_DEFAULT, DevType, BackBufferFormat, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_SURFACE, D3DFMT_D16_LOCKABLE) = D3D_OK Then
If Direct3D.CheckDepthStencilMatch(D3DADAPTER_DEFAULT, DevType, BackBufferFormat, BackBufferFormat, D3DFMT_D16_LOCKABLE) = D3D_OK Then
GetZBufferFormat = D3DFMT_D16_LOCKABLE
BestFormat = "16 бит Z-буффер c возможностью блокировки (D3DFMT_D16_LOCKABLE)"
End If
End If
If Direct3D.CheckDeviceFormat(D3DADAPTER_DEFAULT, DevType, BackBufferFormat, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_SURFACE, D3DFMT_D16) = D3D_OK Then
If Direct3D.CheckDepthStencilMatch(D3DADAPTER_DEFAULT, DevType, BackBufferFormat, BackBufferFormat, D3DFMT_D16) = D3D_OK Then
GetZBufferFormat = D3DFMT_D16
BestFormat = "16 бит Z-буффер (D3DFMT_D16)"
End If
End If
If Direct3D.CheckDeviceFormat(D3DADAPTER_DEFAULT, DevType, BackBufferFormat, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_SURFACE, D3DFMT_D15S1) >= D3D_OK Then
If Direct3D.CheckDepthStencilMatch(D3DADAPTER_DEFAULT, DevType, BackBufferFormat, BackBufferFormat, D3DFMT_D15S1) >= D3D_OK Then
GetZBufferFormat = D3DFMT_D15S1
BestFormat = "15 бит Z-буффер,(D3DFMT_D15S1)"
End If
End If
If Direct3D.CheckDeviceFormat(D3DADAPTER_DEFAULT, DevType, BackBufferFormat, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_SURFACE, D3DFMT_D24X8) >= D3D_OK Then
If Direct3D.CheckDepthStencilMatch(D3DADAPTER_DEFAULT, DevType, BackBufferFormat, BackBufferFormat, D3DFMT_D24X8) >= D3D_OK Then
GetZBufferFormat = D3DFMT_D24X8
BestFormat = "24 бита Z-буффер и 8 бит неиспользуются (D3DFMT_D24X8)"
End If
End If
If Direct3D.CheckDeviceFormat(D3DADAPTER_DEFAULT, DevType, BackBufferFormat, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_SURFACE, D3DFMT_D24S8) >= D3D_OK Then
If Direct3D.CheckDepthStencilMatch(D3DADAPTER_DEFAULT, DevType, BackBufferFormat, BackBufferFormat, D3DFMT_D24S8) >= D3D_OK Then
GetZBufferFormat = D3DFMT_D24S8
BestFormat = "24 бита Z-буффер и 8 бит Stencil-буффер (D3DFMT_D24S8)"
End If
End If
If Direct3D.CheckDeviceFormat(D3DADAPTER_DEFAULT, DevType, BackBufferFormat, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_SURFACE, D3DFMT_D24X4S4) >= D3D_OK Then
If Direct3D.CheckDepthStencilMatch(D3DADAPTER_DEFAULT, DevType, BackBufferFormat, BackBufferFormat, D3DFMT_D24X4S4) >= D3D_OK Then
GetZBufferFormat = D3DFMT_D24X4S4
BestFormat = "24 бита Z-буффер, 4 бита Stencil-буффер и 4 бита неиспользуются (D3DFMT_D24X4S4)"
End If
End If
If Direct3D.CheckDeviceFormat(D3DADAPTER_DEFAULT, DevType, BackBufferFormat, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_SURFACE, D3DFMT_D32) >= D3D_OK Then
If Direct3D.CheckDepthStencilMatch(D3DADAPTER_DEFAULT, DevType, BackBufferFormat, BackBufferFormat, D3DFMT_D32) >= D3D_OK Then
GetZBufferFormat = D3DFMT_D32
BestFormat = "32 бита Z-буффер (D3DFMT_D32)"
End If
End If
Сейчас этот форум просматривают: Google-бот и гости: 40