SDL和Game Maker都有表面,图像的概念,您可以动态修改并显示它们。我正在使用OpenGL 1,我想知道openGL是否具有Surface的概念。
我想出的唯一方法是:
这些方法似乎不是很有效,但我认为别无选择。也许这就是它们在上述引擎中的实现方式。
答案 0 :(得分:0)
是的,这两个是你在OpenGL 1.0中的方法。我认为就1.0规范而言,还有其他任何手段。 链接:https://www.opengl.org/registry/doc/glspec10.pdf
请注意,纹理存储在设备内存(GPU)上,可快速访问以进行着色。并且上述方法在主机(CPU)存储器和设备存储器之间复制它。因此,性能损失是主机设备复制的速度。
为什么限于OpenGL 1.0规范。你可以走得更高,然后开始获得更多选择。
这将是更好的方案,只要修改可以并行执行,这将有益。
我建议尝试使用CPU复制方法,因为它可能足以满足您的需求。使用最新硬件,主机设备副本的速度越来越快。即使使用此副本,您也可以获得60fps或更高的实时速度,除非您计划执行此操作的大量纹理。