【发布时间】:2010-09-22 18:30:20
【问题描述】:
我正在编写一个具有 3d 加速功能的 2d 库,但我想以一种可以在旧硬件上有效运行的方式来完成它。可能使用 typedef 来隐藏您的目标模式不支持的选项/功能。 (也可能开启了仿真功能)
旧硬件有哪些功能?这是我知道的问题和事情的列表。
- 瓷砖,这将不受支持。它太旧了,我的库将支持像素访问
- 具有滚动功能的单像素缓冲区。大湾区示例
- 具有表面到表面快速 blt(无拉伸)的多个表面
- 多表面,表面到表面快速 blt 与拉伸(也许这是模拟的?有任何硬件拉伸图像吗?)
- 硬件像素填充(我以为我在 DX 中看到了该选项)
- HW 透明色? (颜色是透明的,我以为我在 DX 规格中看到过)
- 纹理,旧的使用是 2 的幂。宽度不必与高度是 2 的幂吗? (例如 64x256),是否要求它们相同
- 纹理,较新的硬件可以有任何宽度和高度(或者这是一个谎言?)
- 纹理可以采用疯狂的格式(ARGB 8888、ABGR 8888、ABGR 2 10 10 10)
另外,我不能对纹理 blit 做纹理吗?就像在硬件中从纹理 A 复制 60x40 到 B 一样? 纹理也可以在调色板中吗? (我不会支持这个) 最后我应该记住着色器 8)
我还缺少什么?
【问题讨论】:
标签: 3d 2d hardware gpu hardware-acceleration