GPU预先计算的逆优化

时间:2014-11-24 01:50:23

标签: opengl glsl shader gpu

我有以下代码(光线盒交叉点):

float interBox(vec3 bmin, vec3 bmax, vec3 ro, vec3 rd){
vec3 t1 = (bmin-ro)/rd;
vec3 t2 = (bmax-ro)/rd;

float tmin = min(t1.x, t2.x);
float tmax = max(t1.x, t2.x);

tmin = max(tmin, min(t1.y, t2.y));
tmax = min(tmax, max(t1.y, t2.y));

tmin = max(tmin, min(t1.z, t2.z));
tmax = min(tmax, max(t1.z, t2.z));

return (tmax-tmin)<0? -1: tmin;

我在着色器中使用相同的rd参数调用此函数超过40-50次。我认为预计算1.0 / rd可以节省一些时间。但是,着色器性能比天真的实现更差。怎么可能呢?

0 个答案:

没有答案