fragmenshader里面
@H_502_2@
@H_502_2@
vec4 texColor = texture2D(CC_Texture0,v_texCoord);
float distance = abs(v_texCoord[0] + v_texCoord[1] - offset) / 1.414; @H_502_2@ distance = 1 - (1 / width)*distance; @H_502_2@ distance = max(distance,0); @H_502_2@ vec4 sample = vec4(0.0,0.0,0.0); @H_502_2@ sample[0] = color[0] * distance; @H_502_2@ sample[1] = color[1] * distance; @H_502_2@ sample[2] = color[2] * distance; @H_502_2@ sample[3] = distance; @H_502_2@ @H_502_2@ @H_502_2@ float alpha = sample[3] * texColor[3]; @H_502_2@ texColor[0] = texColor[0] + sample[0] * alpha*factor; @H_502_2@ texColor[1] = texColor[1] + sample[1] * alpha*factor; @H_502_2@ texColor[2] = texColor[2] + sample[2] * alpha*factor; @H_502_2@gl_FragColor = v_fragmentColor * texColor;
@H_502_2@
offset是传入的参数0-2变化的控制的是光线位移 width就是线的宽度。factor是光线透明度。