2020-08-09 OpenGL ES @ CC►从入门到放弃 opengl es 第五课(分解图片) 进入 GLSL 阶段把kunkun大卸4块的代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950precision highp float;uniform sampler2D Texture;varying highp vec2 TextureCoordsVarying;void main() { vec2 uv = TextureCoordsVarying.xy;// if (uv.x < 1.0 / 3.0) {// uv.x = uv.x * 3.0;// } else if (uv.x < 2.0 / 3.0) {// uv.x = (uv.x - 1.0 / 3.0) * 3.0;// } else {// uv.x = (uv.x - 2.0 / 3.0) * 3.0;// }// if (uv.y <= 1.0 / 3.0) {// uv.y = uv.y * 3.0;// } else if (uv.y < 2.0 / 3.0) {// uv.y = (uv.y - 1.0 / 3.0) * 3.0;// } else {// uv.y = (uv.y - 2.0 / 3.0) * 3.0;// } if (uv.x - uv.y <= 0.04 && uv.x - uv.y >= -0.04) { if (uv.x - uv.y <= 0.01 && uv.x - uv.y >= -0.01){// gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0); } else{ gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); } } else if(uv.x + uv.y <= 1.04 && uv.x + uv.y >= 0.96){ if(uv.x + uv.y <= 1.01 && uv.x + uv.y >= 0.99){// gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0); } else{ gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); } } else{ if(uv.x + uv.y < 1.0){ uv.x = uv.x + 0.025; uv.y = uv.y + 0.025; } else{ uv.x = uv.x - 0.025; uv.y = uv.y - 0.025; } gl_FragColor = texture2D(Texture, uv); }} 顶点着色123456789attribute vec4 Position;attribute vec2 TextureCoords;varying vec2 TextureCoordsVarying;void main (void) { gl_Position = Position; TextureCoordsVarying = TextureCoords;} Newer opengl es 第六课(马赛克) Older opengl es 第二课(无情的glsl语法提示)