我在努力学习SDL2。旧的SDL2和旧的SDL的主要区别是,旧的SDL有窗口,所有的图像都是曲面,所有的图像操作和blits都是面对面的。在SDL2中,我们有表面和纹理。如果我做对了,表面在RAM中,纹理在图形内存中。是那么回事吗?
我的目标是为SDL2制作面向对象的包装器,因为我对SDL也有类似的功能。我想有类窗口和类图片(有私人纹理和表面)。窗口将由图片类的实例表示它的内容,并且所有的blits都是图片对象blits。如何组织这些图片操作:
一般来说,什么时候我应该使用表面,什么时候我应该使用纹理?
谢谢您的时间,欢迎您的帮助和建议:)
发布于 2014-01-02 17:01:14
首先,我需要澄清一些误解:基于纹理的渲染不像以前的表面渲染那样工作。虽然您可以使用SDL_Surface作为源或目标,但SDL_Texture是用作呈现的源,而免费的SDL_Renderer则用作目标。通常,您必须在完全在CPU上完成的旧呈现框架和用于GPU的新渲染框架之间进行选择,但是混合是可能的。
所以对于你们的问题:
SDL_Renderer,并且总是更好地在纹理上预加载表面。最后,你应该尽可能地使用纹理。表面使用是一个例外,当您不得不使用密集的像素操作或必须处理遗留代码时,请使用它。
https://stackoverflow.com/questions/20791295
复制相似问题