2
我试图从WebGL中的纹理显示清晰的轮廓。 我将纹理传递给我的片段着色器,然后使用局部衍生物显示轮廓/轮廓,但是,如我所期望的那样,它不光滑。片段着色器中纹理的边缘/轮廓检测
只需打印纹理不处理按预期工作:
vec2 texc = vec2(((vProjectedCoords.x/vProjectedCoords.w) + 1.0)/2.0,
((vProjectedCoords.y/vProjectedCoords.w) + 1.0)/2.0);
vec4 color = texture2D(uTextureFilled, texc);
gl_FragColor = color;
与当地的衍生物,它错过了一些边缘:
vec2 texc = vec2(((vProjectedCoords.x/vProjectedCoords.w) + 1.0)/2.0,
((vProjectedCoords.y/vProjectedCoords.w) + 1.0)/2.0);
vec4 color = texture2D(uTextureFilled, texc);
float maxColor = length(color.rgb);
gl_FragColor.r = abs(dFdx(maxColor));
gl_FragColor.g = abs(dFdy(maxColor));
gl_FragColor.a = 1.;