我正在尝试学习 SDL2。旧 SDL 和 SDL2 之间的主要区别(如我所见)是旧 SDL 具有由其表面表示的窗口,所有图片都是表面,所有图像操作和 blits 都是表面到表面。在 SDL2 中,我们有表面和纹理。如果我做对了,表面在 RAM 中,而纹理在图形内存中。那正确吗?
我的目标是为 SDL2 制作面向对象的包装器,因为我对 SDL 也有类似的东西。我想要班级窗口和班级图片(具有私有纹理和表面)。窗口的内容将由图片类的一个实例表示,并且所有块都是图片到图片对象块。如何组织这些图片操作:
- 像素操作应该在表面上吗?
- 如果我想将一张图片的一部分复制到另一张而不渲染它,它应该在表面上吗?
- 只有当我想在屏幕上渲染它时,我才应该将表面粘贴到纹理上吗?
- 将其全部渲染到一个表面然后将其渲染到窗口纹理还是将每张图片分别渲染到窗口纹理更好?
一般来说,什么时候应该使用表面,什么时候应该使用纹理?
感谢您的宝贵时间,欢迎所有帮助和建议 :)