复制阴极反向终端效应

Replicating Cathode retro terminal effect?

本文关键字:终端 复制      更新时间:2023-10-16

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

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

由于大量使用了三元运算符(需要自定义外观),着色器字符串可能不太可读,但它们应该会给您一个很好的想法。

如果你在应用程序捆绑包中浏览一下,你会发现唯一相关的框架是GLKit,据苹果公司称,它将"减少创建新的基于着色器的应用程序所需的工作量"。

还有一堆经过加密的".fragdata"、".vertdata"answers".glsdata"文件
非常不幸。

所以我想说:是的,一直都是OpenGL着色器。

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

当你让安卓手机进入睡眠状态时,你可能已经意识到它们有这样的动画。该代码在名为ElectronBeam.java.的文件中可用

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

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

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

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

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

如果你想快速工作而不消耗CPU,GPU是最好的解决方案!像素着色器也是如此。像素着色器可以实现所有这些效果。有一次我提出了这样的申请。我用Silverlight编写了它,但没关系,我使用了像素着色器。建议在Qt4中写入此内容,并添加到QWidget像素着色器效果中。