我计划编写一个小型的软件渲染引擎(在别人问我之前,这对我来说是一种学习/科学实验)。
在编写任何代码之前,我已经停留在第一步:如何在屏幕上显示框架缓冲区?我计划做的是渲染到内存中的缓冲区,例如320x200,24位的RGB格式。当然,我需要在屏幕上显示结果;全屏或窗口。
我知道类似的问题在这里已经存在:
不同的是,我想要经常更新图像,像50 The这样的体面的框架。
似乎有一种可能是OpenGL框架缓冲区对象和/或缓冲区流。我不确定我是否应该走那条路,还是对这个用例来说太过分了?我还考虑过用纹理显示一个简单的矩形,我会更新每一帧,但我不确定性能(我想每个帧传输几兆字节的数据应该不是问题)。几年前,我尝试过GDI+和WPF,但是性能远远没有达到我想要达到的效果。不幸的是,我已经没有源代码了,但是我承认我的方法可能是完全错误的。
我并不期待源代码或现成的解决方案,而是一些说明:使用什么功能,我很乐意阅读关于这个主题的文章或教程。
我先考虑了OpenGL,但我和DirectX也没什么关系。欢迎其他建议。我计划使用C/C++或C#,也许使用Python来实现。
我相信一定有一个简单的解决方案,但我承认,在图形编程方面,我是一个完全的新手。我想这只是为了找到一种有效的方法,将数据从RAM复制到GPU内存。我想知道复古仿真器(例如,邪恶)或幻想控制台(如Pico-8)是如何解决这个问题的?
https://computergraphics.stackexchange.com/questions/9949
复制相似问题