作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在 iOS4 上,只有设备支持 GL_OES_standard_derivatives(从我输出扩展时看到的),有没有办法能够:
在片段着色器中检测是否支持扩展
如果不支持,有人有 dFdx 和 dFdy 的代码吗?似乎无法在谷歌上找到任何东西。
TIA!
最佳答案
我在抗锯齿 SDM 字体方面遇到了同样的问题。您可以通过以下方式计算类似的 dfdx/dfdx使用当前变换矩阵转换 2 个 2d 向量:
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);
关于iOS 模拟器 GL_OES_standard_derivatives,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5959542/
我想使用需要的 GLSL ES 着色器 #if GL_OES_standard_derivatives # extension GL_OES_standard_derivatives : enab
在 iOS4 上,只有设备支持 GL_OES_standard_derivatives(从我输出扩展时看到的),有没有办法能够: 在片段着色器中检测是否支持扩展 如果不支持,有人有 dFdx 和 dF
我是一名优秀的程序员,十分优秀!