本文主要是介绍ShaderJoy —— 实现“抗锯齿的黑白格”并原理解析【GLSL】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
效果图:
完整 代码与分析 如下:
#extension GL_OES_standard_derivatives:enable//precision highp float;uniform int u_frequency; // ❤ 小格子的个数 = (2*freq)^2, 大格子的个数 = freq^2
uniform vec4 u_color0; // 白色
uniform vec4 u_color1; // 黑色varying vec2 v_st;void
main()
{vec4 color;vec2 st_width;vec2 fuzz;vec2 pmod;float fuzz_max;st_width = fwidth(v_st);fuzz = st_width * float(u_frequency) * 2.0; fuzz_max = max(fuzz.s, fuzz.t);pmod = fract(v_st * float(u_frequency)); // ❤ 创建大网格,每个格子的 pmod 都 ∈ [0, 1)
这篇关于ShaderJoy —— 实现“抗锯齿的黑白格”并原理解析【GLSL】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!