首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模板缓冲区读/写掩码

模板缓冲区读/写掩码
EN

Stack Overflow用户
提问于 2010-02-17 23:26:25
回答 1查看 1.4K关注 0票数 1

在Direct3D10中,模板读/写掩码是一个字节(从0x00到0xFF)

在Direct3D9中,模板读/写掩码是一个整数(从0x00000000到0xFFFFFFFF)

问题是:

Direct3D10中的模板读写掩码与Direct3D9中的模板读写掩码有什么关系?

Direct3D10 | 0x00FFFFFF或Direct3D10 |0xFFFFFFF00?

还有另一个问题:

当模板缓冲区最大可以是8位时,为什么Direct3D9是32位整数?o.O

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-18 05:14:36

Direct3D10 | 0xFFFFFF00

最低有效位是D3D9中的相关位,文档根据DWORD描述模板操作,但最终模板缓冲区只存储单个字节,因此它只是掩码的最低有效字节是重要的。

D3D9使用DWORD值的原因是,该值是通过SetRenderState设置的,它有两个参数,一个是指定要更改的状态的D3DRENDERSTATETYPE枚举,另一个是DWORD值。因此,所有渲染状态都必须使用DWORD值,无论它们最终是如何使用的。在某些情况下,这意味着对浮点数执行reinterpret_cast。对于模板掩码,这意味着传递一个32位的值,其中只需要最低有效的8位。D3D10通过类型化结构设置状态,因此避免了这个问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2281899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档