2
在iOS4的GL_OES_standard_derivatives仅支持在设备上(从我所看到的,当我输出的扩展),是有没有办法能够:iPhone模拟器GL_OES_standard_derivatives
检测中,如果片段着色器扩展是否支持
如果不支持,是否有人有dFdx和dFdy的代码?似乎无法在谷歌上找到任何东西。
TIA!
在iOS4的GL_OES_standard_derivatives仅支持在设备上(从我所看到的,当我输出的扩展),是有没有办法能够:iPhone模拟器GL_OES_standard_derivatives
检测中,如果片段着色器扩展是否支持
如果不支持,是否有人有dFdx和dFdy的代码?似乎无法在谷歌上找到任何东西。
TIA!
我对抗锯齿SDM字体有同样的问题。您可以通过 使用当前变换矩阵翻译2个2D向量计算类似dfdx/dfdx:
vec2 p1(0,0); vec2 p2(1,1);
p1=TransformUsingCurrentMatrix(p1);
p2=TransformUsingCurrentMatrix(p2);
float magic=35; // you'll need to play with this - it's linked to screen size I think :P
float dFdx=(p2.x-p1.x)/magic;
float dFdy=(p2.y-p1.y)/magic;
然后发送dFdx/dFdy到你的材质为制服 - 而只需用参数相乘得到相同的功能,即
dFdx(myval)
现在变成
dFdx*myval;
dFdy(myval) dFdy*myval;
fwidth(myval) abs(dFdx*myval)+abs(dFdy*myval);