Direct3D Surfaces (Direct3D 9)
Yüzey, ekran belleğinin doğrusal bir alanını temsil eder ve genellikle ekran kartının görüntü belleğinde bulunur, ancak yüzeyler sistem belleğinde bulunabilir. Surfaces, IDirect3DSurface9 arabirimi tarafından yönetilir.
- Ön Arabellek. Grafik bağdaştırıcısı tarafından çevrilen ve monitörde görüntülenen bir bellek dikdörtgeni. Direct3D'de bir uygulama hiçbir zaman doğrudan ön arabelleğe yazmaz.
- Geri AraBelleği. Bir uygulamanın doğrudan yazabileceği bellek dikdörtgeni. Arka arabellek hiçbir zaman doğrudan monitörde görüntülenmez.
- Yüzeyleri çevirme. Arka arabelleği ön arabelleğe taşıma işlemi.
- Takas zinciri. Ön arabelleğe seri olarak sunulabilen bir veya daha fazla arka arabellek koleksiyonu.
Surface'ı edinme
Şu yöntemlerden herhangi birini çağırarak bir yüzey oluşturun:
- CreateDepthStencilSurface
- CreateOffscreenPlainSurface
- CreateRenderTarget
Surface biçimleri, surface belleğindeki her pikselin verilerinin nasıl yorumleneceğini belirler. Direct3D, yüzey biçimini tanımlamak için D3DSURFACE_DESC yapısının D3DFORMAT üyesini kullanır. GetDesc yöntemini çağırarak mevcut bir yüzeyin biçimini alabilirsiniz.
Bir yüzey oluşturulduktan sonra, şu yöntemlerden herhangi birini çağırarak bir işaretçi alabilirsiniz:
- GetBackBuffer
- GetCubeMapSurface
- GetDepthStencilSurface
- GetFrontBufferData
- GetRenderTarget
- GetSurfaceLevel
IDirect3DSurface9 arabirimi, UpdateSurface yöntemi aracılığıyla belleğe dolaylı olarak erişmenizi sağlar. Bu yöntem, bir IDirect3DSurface9 arabiriminden piksellerin dikdörtgen bir bölgesini başka bir IDirect3DSurface9 arabirimine kopyalamanızı sağlar. Surface arabirimi, görüntü belleğine doğrudan erişme yöntemlerine de sahiptir. Örneğin, görüntüleme belleğinin dikdörtgen bir bölgesini kilitlemek için LockRect yöntemini kullanabilirsiniz. Yüzeydeki kilitli dikdörtgen bölgeyle çalışmayı bitirdikten sonra UnlockRect çağırmak önemlidir.
Ek Surface Konuları
Bu konulardan herhangi biriyle yüzeyleri kullanma hakkında daha fazla bilgi edinin:
- Surface Biçimleri (Direct3D 9)
- Swap Chain nedir? (Direct3D 9)
- Genişliği ile Pitch (Direct3D 9) karşılaştırması
- Yüzeyleri Çevirme (Direct3D 9)
- Sayfa Çevirme ve Geri Arabelleğe Alma (Direct3D 9)
- Surfaces'a Kopyalama (Direct3D 9)
- Yüzeyleri Kopyalama (Direct3D 9)
- Surface Belleğe Doğrudan Erişme (Direct3D 9)
- Özel Surface Verileri (Direct3D 9)
- Gama Denetimleri (Direct3D 9)
İlgili konular