SDL中使用Surface+Blit和使用texture+renderer两种绘制方式有什么不同?
请问这两种绘制方式我更应该用哪种?好像除了Surface+Blit之外没什么办法把一个图片画到另外一个图片上,然后整个作为一张图片来渲染,实际上都是重叠绘制的。我想实现基本的GUI(给游戏用),不知在实现方式上有什么例子或建议吗?谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
其实本质上并没有什么区别,在硬件加速支持的情况下(渲染到纹理)并不会有太多差别,不过前一种可控制更灵活些也更通用些. 基本思路就是加载二张纹理到内存(SDL_LoadSurface),然后在内存中融合(bit copy),区别就是如果硬件不支持,用软融合(CPU),如果硬件支持(GPU),用后一种方式会有硬件加速速度更快些.至于做Game的GUI,如果render texture能满足你的要求,就尽量选用,否则就自己在内存中操作.