大家在学习glshader的时侯,是不是发现不方便调试查看效果,是不是发现很少学习的例子,现在给大家介绍一个即方便调试查看效果,又方便学习例子的网站,https://www.shadertoy.com/,在上面你可以看到各种奇思妙想,各种非常酷炫的效果,
我们来看看该网站的现场编辑调试运行功能,这里只能运行片断着色器,在新建一个shader的时候,我们发现着色器有这些输入:
着色器输入
uniform vec3 iResolution; // viewport resolution (in pixels) uniform float iTime; // shader playback time (in seconds) uniform float iTimeDelta; // render time (in seconds) uniform int iFrame; // shader playback frame uniform float iChannelTime[4]; // channel playback time (in seconds) uniform vec3 iChannelResolution[4]; // channel resolution (in pixels) uniform vec4 iMouse; // mouse pixel coords. xy: current (if MLB down), zw: click uniform samplerXX iChannel0..3; // input channel. XX = 2D/Cube uniform vec4 iDate; // (year, month, day, time in seconds) uniform float iSampleRate; // sound sample rate (i.e., 44100)
用的比较多的是iResolution,窗口的分辨率,iTime播放时间,iMouse鼠标的坐标位置,iChannel0...3选择的纹理,对应着下面的
纹理图片选择。
下面简单的写个小例程,passthrogh的选择显示图片纹理: