复制阴极反向终端效应
Replicating Cathode retro terminal effect?
我正在尝试复制阴极的效果,但我并没有真正意识到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像素着色器效果中。
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 使用strcpy将char数组的元素复制到另一个数组
- 是否可以初始化不可复制类型的成员变量(或基类)
- 如何在linux终端中同时编译和运行c++代码
- 为什么在C++中使用私有复制构造函数与删除复制构造函数
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 复制列表初始化的隐式转换的等级是多少
- 当从函数参数中的临时值调用复制构造函数时
- 有可能在Armadillo中复制MATLAB circshift方法吗
- 终端不会为C++文件创建.exe文件吗
- 复制几乎为空的数组的最快方法
- 以下示例中如何避免代码复制?C++/库达
- 如果有一个模板构造函数只有一个泛型参数,为什么我必须有一个复制构造函数
- 为什么需要复制构造函数,在哪些情况下它们非常有用
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- 不能将复制初始化与隐式转换的多个步骤一起使用
- VS Code "command":"make"与终端窗口中的命令行"make"不同
- 复制阴极反向终端效应
- 如何在不同的终端中复制和运行命令