При от далении камеры
все начинает рисоваться не правильно - обьекты которые находятся выше почему то рисуются ниже чем те которые выше 
такое ощущение что 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



Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4