复制阴极复古终端效应?

时间:2013-12-03 17:11:06

标签: c++ sdl

我正在尝试复制Cathode的效果,但我并不真正意识到SDL中的任何渲染效果。有谁知道阴极中使用的技术?他们使用的是OpenGL和着色器吗?

5 个答案:

答案 0 :(得分:4)

如果您仍然对这个主题感兴趣我正在从事类似的项目。通过使用GLSL着色器获得效果。 您可以在此处获取源代码:https://github.com/Swordifish90/cool-old-term/

由于三元运算符的广泛使用(需要自定义外观),着色器字符串可能不是非常易读,但它们应该给你一个非常好的主意。

答案 1 :(得分:1)

如果你在应用程序包中找到一点点,你会发现唯一相关的框架是GLKit,根据Apple的说法,它将“减少创建新的基于着色器的应用程序所需的工作量”。

还有一堆“.fragdata”,“。fldata”和“.glsldata”文件,这些文件都是加密的。
非常不幸。

所以我会说:是的,它一直是OpenGL着色器。

不幸的是,由于着色器是加密的,因此您必须在其他地方找到合适的算法。 (也许可以使用OpenGL调试和分析工具在编译时捕获着色器源,但我对此表示怀疑。)

答案 2 :(得分:0)

你可能已经意识到当你让它们进入睡眠状态时,Android手机会有(有?)这样的动画。该代码位于名为ElectronBeam.java的文件中。

然而,它是Java代码并使用GLES 1.0和GLES 1.1扩展,但弯曲屏幕的算法应该是可以理解的。

答案 3 :(得分:0)

似乎是基于使用OpenGL的GLTerminal,它必须使用OpenGL和着色器来提高速度。

我猜最快的近似是将文本渲染到OpenGL中的缓冲区,并使用变形的2d网格来创建“圆角”径向失真。

但是要添加阴极所具有的所有功能需要做很多工作,更不用说快速运行它们了。

我怀疑完美地模拟CRT有点像完美地模拟模拟合成器 - 很难不可能。

答案 4 :(得分:-1)

如果你想快速工作而不是杀死CPU,GPU是最好的解决方案!所以像素着色器。像素着色器可以完成所有这些效果。一旦我提出这样的申请。我在Silverlight中写了它,但没关系,我使用了像素着色器。 建议在Qt4中写这个并添加到QWidget像素着色器效果。