• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            麒麟子

            ~~

            導航

            <2009年8月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            統(tǒng)計

            常用鏈接

            留言簿(12)

            隨筆分類

            隨筆檔案

            Friends

            WebSites

            積分與排名

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            翻譯 D3DPOOL

            邊看邊寫下來的,肯定翻譯得不好,有要看的將就一下

            D3DPOOL

            Defines the memory class that holds the buffers for a resource.
            這句不用翻譯

            typedef enum D3DPOOL
            {
            D3DPOOL_DEFAULT = 0,
            D3DPOOL_MANAGED = 1,
            D3DPOOL_SYSTEMMEM = 2,
            D3DPOOL_SCRATCH = 3,
            D3DPOOL_FORCE_DWORD = 0x7fffffff,
            } D3DPOOL, *LPD3DPOOL;

            Constants 常量

            D3DPOOL_DEFAULT
            Resources are placed in the memory pool most appropriate for the set of usages requested for the given resource. This is usually video memory, including both local video memory and AGP memory. The D3DPOOL_DEFAULT pool is separate from D3DPOOL_MANAGED and D3DPOOL_SYTEMMEM, and it specifies that the resource is placed in the preferred memory for device access. Note that D3DPOOL_DEFAULT never indicates that either D3DPOOL_MANAGED or D3DPOOL_SYSTEMMEM should be chosen as the memory pool type for this resource. Textures placed in the D3DPOOL_DEFAULT pool cannot be locked unless they are dynamic textures or they are private, FOURCC, driver formats. To access unlockable textures, you must use functions such as IDirect3DDevice9::UpdateSurface, IDirect3DDevice9::UpdateTexture, IDirect3DDevice9::GetFrontBufferData, and IDirect3DDevice9::GetRenderTargetData. D3DPOOL_MANAGED is probably a better choice than D3DPOOL_DEFAULT for most applications. Note that some textures created in driver-proprietary pixel formats, unknown to the Direct3D runtime, can be locked. Also note that - unlike textures - swap chain back buffers, render targets, vertex buffers, and index buffers can be locked. When a device is lost, resources created using D3DPOOL_DEFAULT must be released before calling IDirect3DDevice9::Reset. For more information, see Lost Devices.

            When creating resources with D3DPOOL_DEFAULT, if video card memory is already committed, managed resources will be evicted to free enough memory to satisfy the request.


            資源被放入內(nèi)存池中多半是為了給被請求的資源騰出使用的空間。 通常是顯存,包括顯卡道內(nèi)存中的AGP部分。D3DPOOL_DEFAULT 是從MANGED和SYSTEMMEM中分離出來的。它指明了被放入此中的資源是用來被設(shè)備訪問。注意,D3DPOOL_DEFAULT 沒有意味著MANAGED或SYSTEMMEM將會被選擇用來存儲資源,這是一個獨立的部分。放入D3DPOOL_DEFAULT 中的紋理不可以被LOCK除非是動態(tài)紋理或是私有紋理。FOURCC,驅(qū)動格式,為了訪問未鎖定的紋理,我們必須用IDirect3DDevice9::UpdateSurface, IDirect3DDevice9::UpdateTexture, IDirect3DDevice9::GetFrontBufferData, and IDirect3DDevice9::GetRenderTargetData.函數(shù)。顯然,對于許多應(yīng)用程序來說,MANAGED是更好的選擇。
            注意,許多紋理是以私有的格式創(chuàng)建的。運行時D3D并不知道。是可以被加鎖的。同時應(yīng)該注意,不像紋理,交換鏈后臺緩沖區(qū),渲染目標,頂點緩沖,索引緩沖是可以被加鎖的。當設(shè)備丟失的時候,使用D3DPOOL_DEFAULT 創(chuàng)建的資源必須要在調(diào)用Reset之前釋放。可以參看D3D的LostDevice.
            當使用D3DPOOL_DEFAULT 創(chuàng)建資源,并且顯卡的內(nèi)存有限的時候,MANAGED中的資源將會被清除以釋放足夠的內(nèi)存來滿足需求。

            D3DPOOL_MANAGED
            Resources are copied automatically to device-accessible memory as needed. Managed resources are backed by system memory and do not need to be recreated when a device is lost. See Managing Resources for more information. Managed resources can be locked. Only the system-memory copy is directly modified. Direct3D copies your changes to driver-accessible memory as needed.
            在MANAGED中的當有需要的時候,會被自動復制到設(shè)備的可訪問內(nèi)存。MANAGED資源在系統(tǒng)內(nèi)存中是有備份的,于是當設(shè)備丟失的時候,不需要重新創(chuàng)建。參見Managing Resources 。MANAGED資源可以被加鎖,只有系統(tǒng)內(nèi)存中的備份是直接被修改的。當有必要的時候,D3D復制你所修改的內(nèi)容到系統(tǒng)可訪問區(qū)
            D3DPOOL_SYSTEMMEM
            Resources are placed in memory that is not typically accessible by the Direct3D device. This memory allocation consumes system RAM but does not reduce pageable RAM. These resources do not need to be recreated when a device is lost. Resources in this pool can be locked and can be used as the source for a IDirect3DDevice9::UpdateSurface or IDirect3DDevice9::UpdateTexture operation to a memory resource created with D3DPOOL_DEFAULT.
            被放置在SYSTMMEM中的資源是典型地不可被3D直接訪問的。這種內(nèi)存分配消耗系統(tǒng)的RAM但是不減少RAM的可用頁。在設(shè)備丟失的時候,這些資源不需要再次創(chuàng)建。在這個內(nèi)存池中的資源可以被加鎖,可以被用來讓IDirect3DDevice9::UpdateSurface or IDirect3DDevice9::UpdateTexture 去操作以D3DPOOL_DEFAULT. 方式創(chuàng)建的資源
            D3DPOOL_SCRATCH
            Resources are placed in system RAM and do not need to be recreated when a device is lost. These resources are not bound by device size or format restrictions. Because of this, these resources cannot be accessed by the Direct3D device nor set as textures or render targets. However, these resources can always be created, locked, and copied.
            這種資源被放在系統(tǒng)的RAM中,設(shè)備丟失時候不用重新創(chuàng)建。這種資源不受設(shè)備大小和格式的限制。為此,這種資源不能被D3D訪問,也不能設(shè)置為紋理或渲染目標。但是,這種資源總是可以被創(chuàng)建,加鎖和復制。
            D3DPOOL_FORCE_DWORD
            Forces this enumeration to compile to 32 bits in size. Without this value, some compilers would allow this enumeration to compile to a size other than 32 bits. This value is not used.
            強制編譯器使用32位來編譯這個枚舉量。若沒有這個值,一些編譯器將允許這個枚舉以非32位的方式編譯。這個值未被使用。

            Remarks 評論

            All pool types are valid with all resources. This includes: vertex buffers, index buffers, textures, and surfaces.
            所有的內(nèi)存池類型對所有的資源有效。包括:頂點緩沖,索引緩沖,紋理,表面。


            剩下的一些內(nèi)容就是各種類型的資源對各種渲染目標的效性。參見SDK


            以下為FancyBit對D3DUSAGE的翻譯,由于和D3DPOOL關(guān)聯(lián)較強,故貼在此里,十分感謝FancyBit
            他的主頁是:http://hi.baidu.com/148332727 希望大家多多交流,共同進步

            資源的使用的方式

            D3DUSAGE_RENDERTARGET 此紋理或表面作為一個渲染目標被創(chuàng)建,只能分配在D3DPOOL_DEFAULT的顯卡內(nèi)存中

            D3DUSAGE_AUTOGENMIPMAP 資源會自動生成多精度(多層次細節(jié))紋理(mipmap)(Direct3D 9). 不支持volume textures 和深度表面/深度紋理(凹凸貼圖). 這個usage 不支持系統(tǒng)內(nèi)存中的資源(用D3DPOOL_SYSTEMMEM參數(shù)創(chuàng)建的資源).

            D3DUSAGE_DEPTHSTENCIL 此資源將會是一個深度緩沖,只能用D3DPOOL_DEFAULT分配.

            D3DUSAGE_DMAP The resource will be a displacement map. ???

            D3DUSAGE_DONOTCLIP 頂點緩沖區(qū)內(nèi)容不需要裁減. 當被渲染的緩沖區(qū)設(shè)置此位時,D3DRS_CLIPPING 渲染器狀態(tài)必須設(shè)置為false.

            D3DUSAGE_DYNAMIC 設(shè)置此位表示頂點緩沖需要動態(tài)的內(nèi)存使用。這對驅(qū)動程序很有用因為它使得驅(qū)動程序可以決定把緩沖區(qū)放在哪里。一般的,靜態(tài)頂端緩沖放置在顯存兒動態(tài)緩沖防止在AGP內(nèi)存中。注意如果你沒有指定該標志位,那么頂點緩沖默認就是靜態(tài)的。

            D3DUSAGE_DYNAMIC會被強制設(shè)置,當D3DLOCK_DISCARD 和 D3DLOCK_NOOVERWRITE 鎖標志一起使用. 因此, D3DLOCK_DISCARD and D3DLOCK_NOOVERWRITE 只對使用 D3DUSAGE_DYNAMIC創(chuàng)建的頂點緩沖有用.更多參見Managing Resources (Direct3D 9).

            更多關(guān)于動態(tài)頂點緩沖的信息,參見Performance Optimizations (Direct3D 9).

            D3DUSAGE_DYNAMIC 和 D3DPOOL_MANAGED不兼容. See D3DPOOL.

            紋理也可以使用D3DUSAGE_DYNAMIC.當然, 托管的紋理不能使用 D3DUSAGE_DYNAMIC. 關(guān)于動態(tài)紋理的信息,參見 Using Dynamic Textures.

            D3DUSAGE_WRITEONLY
            用于頂點緩沖和索引緩沖
            通知系統(tǒng)程序只想頂點和索引緩沖中寫入數(shù)據(jù)。使用這個標記可以讓驅(qū)動程序選擇讓寫入和渲染操作效率最佳的內(nèi)存分配方式。啟用此特性后嘗試從內(nèi)存緩沖中讀取數(shù)據(jù)的操作會失敗。只對使用D3DPOOL_DEFAULT分配在顯存中的數(shù)據(jù)有效。

            D3DUSAGE_RTPATCHES Set to indicate that the vertex buffer is to be used for drawing high-order primitives. ???

            D3DUSAGE_NONSECURE 允許創(chuàng)建的表面被另一個程序用一個無安全性的共享句柄打開,只在D3D9EX使用

            D3DUSAGE_TEXTAPI D3D9EX專用 略

            用于:
            IDirect3DDevice9::CreateCubeTexture
            IDirect3DDevice9::CreateDepthStencilSurface
            IDirect3DDevice9::CreateIndexBuffer
            IDirect3DDevice9::CreateOffscreenPlainSurface
            IDirect3DDevice9::CreateRenderTarget
            IDirect3DDevice9::CreateTexture
            IDirect3DDevice9::CreateVertexBuffer
            IDirect3DDevice9::CreateVolumeTexture
            D3DXCreatexxx texturing functions

            posted on 2009-08-11 00:34 麒麟子 閱讀(1977) 評論(4)  編輯 收藏 引用 所屬分類: DirectX

            評論

            # re: 翻譯 D3DPOOL 2009-08-11 14:11 Leaf

            @戴爾筆記本
            3Q  回復  更多評論   

            # re: 翻譯 D3DPOOL 2009-08-12 12:04 羅萊家紡

            按時間大會撒嬌  回復  更多評論   

            # re: 翻譯 D3DPOOL 2009-08-14 00:53 FancyBit

            資源的使用的方式

            D3DUSAGE_RENDERTARGET 此紋理或表面作為一個渲染目標被創(chuàng)建,只能分配在D3DPOOL_DEFAULT的顯卡內(nèi)存中

            D3DUSAGE_AUTOGENMIPMAP 資源會自動生成多精度(多層次細節(jié))紋理(mipmap)(Direct3D 9). 不支持volume textures 和深度表面/深度紋理(凹凸貼圖). 這個usage 不支持系統(tǒng)內(nèi)存中的資源(用D3DPOOL_SYSTEMMEM參數(shù)創(chuàng)建的資源).

            D3DUSAGE_DEPTHSTENCIL 此資源將會是一個深度緩沖,只能用D3DPOOL_DEFAULT分配.

            D3DUSAGE_DMAP The resource will be a displacement map. ???

            D3DUSAGE_DONOTCLIP 頂點緩沖區(qū)內(nèi)容不需要裁減. 當被渲染的緩沖區(qū)設(shè)置此位時,D3DRS_CLIPPING 渲染器狀態(tài)必須設(shè)置為false.

            D3DUSAGE_DYNAMIC 設(shè)置此位表示頂點緩沖需要動態(tài)的內(nèi)存使用。這對驅(qū)動程序很有用因為它使得驅(qū)動程序可以決定把緩沖區(qū)放在哪里。一般的,靜態(tài)頂端緩沖放置在顯存兒動態(tài)緩沖防止在AGP內(nèi)存中。注意如果你沒有指定該標志位,那么頂點緩沖默認就是靜態(tài)的。

            D3DUSAGE_DYNAMIC會被強制設(shè)置,當D3DLOCK_DISCARD 和 D3DLOCK_NOOVERWRITE 鎖標志一起使用. 因此, D3DLOCK_DISCARD and D3DLOCK_NOOVERWRITE 只對使用 D3DUSAGE_DYNAMIC創(chuàng)建的頂點緩沖有用.更多參見Managing Resources (Direct3D 9).

            更多關(guān)于動態(tài)頂點緩沖的信息,參見Performance Optimizations (Direct3D 9).

            D3DUSAGE_DYNAMIC 和 D3DPOOL_MANAGED不兼容. See D3DPOOL.

            紋理也可以使用D3DUSAGE_DYNAMIC.當然, 托管的紋理不能使用 D3DUSAGE_DYNAMIC. 關(guān)于動態(tài)紋理的信息,參見 Using Dynamic Textures.

            D3DUSAGE_WRITEONLY
            用于頂點緩沖和索引緩沖
            通知系統(tǒng)程序只想頂點和索引緩沖中寫入數(shù)據(jù)。使用這個標記可以讓驅(qū)動程序選擇讓寫入和渲染操作效率最佳的內(nèi)存分配方式。啟用此特性后嘗試從內(nèi)存緩沖中讀取數(shù)據(jù)的操作會失敗。只對使用D3DPOOL_DEFAULT分配在顯存中的數(shù)據(jù)有效。

            D3DUSAGE_RTPATCHES Set to indicate that the vertex buffer is to be used for drawing high-order primitives. ???

            D3DUSAGE_NONSECURE 允許創(chuàng)建的表面被另一個程序用一個無安全性的共享句柄打開,只在D3D9EX使用

            D3DUSAGE_TEXTAPI D3D9EX專用 略

            用于:
            IDirect3DDevice9::CreateCubeTexture
            IDirect3DDevice9::CreateDepthStencilSurface
            IDirect3DDevice9::CreateIndexBuffer
            IDirect3DDevice9::CreateOffscreenPlainSurface
            IDirect3DDevice9::CreateRenderTarget
            IDirect3DDevice9::CreateTexture
            IDirect3DDevice9::CreateVertexBuffer
            IDirect3DDevice9::CreateVolumeTexture
            D3DXCreatexxx texturing functions  回復  更多評論   

            # re: 翻譯 D3DPOOL 2009-08-14 00:54 FancyBit

            俺翻譯的d3dUsage 和這個關(guān)聯(lián)滿多的  回復  更多評論   

            亚洲av伊人久久综合密臀性色| 婷婷久久五月天| 国产一级做a爰片久久毛片| 国产一区二区精品久久凹凸| 国内高清久久久久久| 91精品婷婷国产综合久久| 99精品国产综合久久久久五月天| 久久婷婷五月综合97色直播| 国产高清美女一级a毛片久久w| 精品久久久久久亚洲精品 | 久久国产亚洲高清观看| 久久这里的只有是精品23| 久久国产热精品波多野结衣AV| 久久www免费人成精品香蕉| 欧美熟妇另类久久久久久不卡 | 国产成人精品久久综合 | 亚洲国产精品无码久久一区二区 | 天天久久狠狠色综合| 国内精品九九久久久精品| 青春久久| 亚洲伊人久久大香线蕉综合图片| 久久亚洲国产午夜精品理论片| 亚洲中文字幕无码久久精品1| 狠狠精品久久久无码中文字幕 | 久久青青草原综合伊人| 欧美va久久久噜噜噜久久| 三级片免费观看久久| 伊人久久大香线蕉影院95| 97精品久久天干天天天按摩| 国产精品久久国产精麻豆99网站| 一本一道久久a久久精品综合 | 国产一区二区精品久久凹凸 | 一本色道久久HEZYO无码| 一97日本道伊人久久综合影院| 久久精品国产亚洲7777| 人妻精品久久久久中文字幕 | 一本久久知道综合久久| 97久久婷婷五月综合色d啪蜜芽| 欧美亚洲国产精品久久| 久久亚洲精品成人无码网站| 69久久夜色精品国产69|