FancyBitSpace

C++游戏开发 UI设计

 
re: CPU GPU设计工作原理《转》 FancyBit 2010-07-07 15:15
巨长的一篇文章 翻译一下的话有没有价值?
re: CPU GPU设计工作原理《转》 FancyBit 2010-07-07 15:15
刚看完nvida最新的Fermi架构白皮书 除了可编程渲染管线 新的改进貌似主要在并行运算上
re: 翻译 D3DPOOL FancyBit 2009-08-14 00:54
俺翻译的d3dUsage 和这个关联满多的
re: 翻译 D3DPOOL FancyBit 2009-08-14 00:53
资源的使用的方式

D3DUSAGE_RENDERTARGET 此纹理或表面作为一个渲染目标被创建,只能分配在D3DPOOL_DEFAULT的显卡内存中

D3DUSAGE_AUTOGENMIPMAP 资源会自动生成多精度(多层次细节)纹理(mipmap)(Direct3D 9). 不支持volume textures 和深度表面/深度纹理(凹凸贴图). 这个usage 不支持系统内存中的资源(用D3DPOOL_SYSTEMMEM参数创建的资源).

D3DUSAGE_DEPTHSTENCIL 此资源将会是一个深度缓冲,只能用D3DPOOL_DEFAULT分配.

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

D3DUSAGE_DONOTCLIP 顶点缓冲区内容不需要裁减. 当被渲染的缓冲区设置此位时,D3DRS_CLIPPING 渲染器状态必须设置为false.

D3DUSAGE_DYNAMIC 设置此位表示顶点缓冲需要动态的内存使用。这对驱动程序很有用因为它使得驱动程序可以决定把缓冲区放在哪里。一般的,静态顶端缓冲放置在显存儿动态缓冲防止在AGP内存中。注意如果你没有指定该标志位,那么顶点缓冲默认就是静态的。

D3DUSAGE_DYNAMIC会被强制设置,当D3DLOCK_DISCARD 和 D3DLOCK_NOOVERWRITE 锁标志一起使用. 因此, D3DLOCK_DISCARD and D3DLOCK_NOOVERWRITE 只对使用 D3DUSAGE_DYNAMIC创建的顶点缓冲有用.更多参见Managing Resources (Direct3D 9).

更多关于动态顶点缓冲的信息,参见Performance Optimizations (Direct3D 9).

D3DUSAGE_DYNAMIC 和 D3DPOOL_MANAGED不兼容. See D3DPOOL.

纹理也可以使用D3DUSAGE_DYNAMIC.当然, 托管的纹理不能使用 D3DUSAGE_DYNAMIC. 关于动态纹理的信息,参见 Using Dynamic Textures.

D3DUSAGE_WRITEONLY
用于顶点缓冲和索引缓冲
通知系统程序只想顶点和索引缓冲中写入数据。使用这个标记可以让驱动程序选择让写入和渲染操作效率最佳的内存分配方式。启用此特性后尝试从内存缓冲中读取数据的操作会失败。只对使用D3DPOOL_DEFAULT分配在显存中的数据有效。

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

D3DUSAGE_NONSECURE 允许创建的表面被另一个程序用一个无安全性的共享句柄打开,只在D3D9EX使用

D3DUSAGE_TEXTAPI D3D9EX专用 略

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

导航

统计

常用链接

留言簿

搜索

最新评论