Aracılığıyla paylaş


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:

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:

Başlarken