Birçok oyunda bahsettiğiniz bu tür etkilere örnekler var. Birincisi, tıpkı fotoğraf makinesi bu örnekteki gibi, yalnızca kendisine yakın olan şeylere odaklanıyormuş gibi, mesafedeki nesneyi bulanık görünmesini sağlayan alan Derinliği vardır . Bununla ilgili daha fazla örneği DirectX SDK paketinde keşfedebilirsiniz - orada da örnek kodları vardır. OpenGL için, arama yaparsanız onları net olarak alırsınız.
Görmek isteyebileceğiniz ikinci şey , adından da anlaşılacağı gibi, doku mip-haritalamasına benzer, ancak geometri için Geometry MipMaping veya Progressive Meshes olarak bilinen şeydir . Bir ağdaki çokgen sayısı, nesne kameradan uzaklaştıkça azalır. Bu, performansın artmasına yardımcı olur. D3D'de, Aşamalı ağların otomatik olarak oluşturulmasına yardımcı olacak bir işlev vardır. İşte burada:
HRESULT WINAPI D3DXGeneratePMesh(
LPD3DXMESH pMesh,
const DWORD *pAdjacency,
const D3DXATTRIBUTEWEIGHTS *pVertexAttributeWeights,
const FLOAT *pVertexWeights,
DWORD MinValue,
DWORD Options,
LPD3DXPMESH *ppPMesh
);
İşte bunun bir örneği:
DÜZENLEME:
Aşağıdaki resmi göz önünde bulundurun
Bu kameranın çektirme frustumudur. Ortadan geçen çizgi LookAt vektörüdür. Şimdi, oyuncunun her zaman ekranın ortasına odaklanmak isteyeceğini varsayarsak, x açısını tanımlarsınız. Kararlaştırılan x değerinden daha fazla bir açıda konumlandırılacak herhangi bir nesnenin düşük çözünürlüklü bir sunumu olur ve açı içindeki nesneler ayrıntıyla işlenir. Bunun gibi, ekranın ortasındaki nesneler yandakilerden daha ayrıntılı olacaktır. Eğer oyuncu merkeze bakmıyorsa, o merkez çizgisini oyuncunun baktığı yöne ayarlayın. (veya tüm kamerayı bu yönde döndürün).