是否有可能在现代GPU上做旧派2d blitting?

dru*_*dru 12 opengl gpu opengl-es

看起来GL已经成为所有游戏平台(甚至手持设备!)的主流.这已经推动了现代GPU芯片组部署到大量消费者.

这真太了不起了.

现在有了现代GPU系统,是否可以进行通用的老式图形编程(也就是说 - 使用VRAM从X rect到Y rect的blit)?(想想Amiga)或者是以顶点和像素着色器为中心的操作?

GL可以访问吗?OpenGL ES?

渲染纹理四边形是可以的,但它需要双缓冲和重新渲染整个场景.看看我是否可以避免这种情况.

Luc*_*uca 7

检查BlitFramebuffer例程(Framebuffer对象).您需要更新的驱动程序.

请记住,你可以使用默认的帧缓冲区,但我认为使用framebuffer对象会更有趣.

将您的精灵保存在单独的frambuffers中(可能使用OpenGL渲染),并将它们设置为read(使用glReadBuffers)并在draw framebuffer上使用blDrawBuffers进行blit(使用glDrawBuffers).它非常简单快速.