昨天和冰哥简单聊到了这个,问题解决的过程:
1、mac电脑上,chrome和Firefox浏览器都存在这个问题,而自带的safari浏览器不存在这个问题
2、其实显示的 是截取的中间一部分:
3、判断是,不同环境的不同浏览器 对应的 gl_PointSize 最大值不一样导致的
4、于是把片源着色器进行了如下缩放,显示正常了
#ifdef GL_ES
precision mediump float;
#endif
uniform vec2 u_resolution;
void main(){
vec2 p = (gl_FragCoord.xy * 2.0 - u_resolution) / min(u_resolution.x, u_resolution.y)*0.5;
vec3 color1=vec3(0.);
vec3 color2=vec3(0.);
vec3 color3=vec3(0.);
if(distance(vec2(0.,0.02),vec2(p.xy))<=.04)
{
color1=vec3(.0,.0,1.);
}
if(distance(vec2(-.02,-.02),vec2(p.xy))<=.04)
{
color2=vec3(1.,.0,0.);
}
if(distance(vec2(.02,-.02),vec2(p.xy))<=.04)
{
color3=vec3(.0,1.,0.);
}
vec3 color=vec3(0.,0.,0.)+color1 + color2 + color3;
gl_FragColor=vec4(color,1.);
}




问 WebGL_Shader教程中,第四节绘制圆颜色,win和mac下的区别?