如何将ShaderToy移植到独立的OpenGL

时间:2016-09-22 18:02:15

标签: opengl glsl shader

我一直在关注Shadertoy

我对示例中列出的Shader代码有疑问。那些片段着色器?语法似乎对我来说不熟悉。我对如何在没有顶点着色器或初始化代码的情况下渲染示例感到困惑,例如设置纹理等。

可以将Shadertoy上的示例移植到独立的OpenGL程序中,如果是这样,那么如何尝试呢?

2 个答案:

答案 0 :(得分:4)

基本的Shadertoy着色器只是应用于全屏四边形的片段着色器。它具有更高级的功能(如音频生成,VR支持和多次渲染),但这是基本的想法。

因此,要转换为OpenGL程序,首先要使用简单的顶点着色器渲染全屏矩形,然后使用Shadertoy中的片段着色器。您可能需要稍微更改语法,以便在编译着色器时检查是否出现任何语法错误。

答案 1 :(得分:0)

你可以尝试加入这个项目。

它实现了大部分功能。只需要为立方体贴图、音频纹理等扩展一些类。

https://github.com/MacgyverLin/GLSLRayMarching.git