【发布时间】:2016-07-16 02:24:38
【问题描述】:
我正在使用cocos2d-js webgl模式创建一个非常简单的shader效果:
用给定的中心位置和半径绘制一个实心圆。
片段着色器:
uniform vec2 position;
uniform vec3 lightColor;
uniform float lightSize;
void main()
{
float distance = distance(gl_FragCoord.xy, position);
if (distance <= lightSize) {
gl_FragColor = vec4(lightColor, 1.0);
}
else {
gl_FragColor = vec4(lightColor, 0.0);
}
}
当浏览器未缩放 (100 %) 时,此代码可以正常工作。
但是,当我尝试将浏览器缩放到 80% 或 120% 时,我发现绘制的圆圈偏离了我设置的中心位置。
我不确定如何解决此问题,以确保无论我如何缩放浏览器,圆圈始终位于我设置的中心位置。
任何建议将不胜感激,谢谢:)
【问题讨论】:
-
你为
position设置了什么值?这是统一的,发布的代码没有显示您将其设置为什么值。
标签: javascript webgl shader cocos2d-js