Jump to content

  • Log In with Google      Sign In   
  • Create Account

#ActualChris_F

Posted 30 January 2013 - 09:01 AM

For me, it seems as though this full implementation is about 24% more instructions than Schlick's method.


Only 24% more? Isn't Schlick Fresnel ks + (1 - ks) * pow(1 - dot(L, H), 5), which would be about 9 instructions? The full fresnel equation would be about 29 instructions.

Also, why is it dot(N, L) in your code? It should be the microfacets normal and not the normal of the macro surface.

 

I included the instruction cost of calculating f0 with pow((n2-n1) / (n2+n1) , 2.0), and I used N.L because I was testing this with normalized Blinn-Phong, not a microfaceted BRDF.


#2Chris_F

Posted 30 January 2013 - 09:01 AM

For me, it seems as though this full implementation is about 24% more instructions than Schlick's method.


Only 24% more? Isn't Schlick Fresnel ks + (1 - ks) * pow(1 - dot(L, H), 5), which would be about 9 instructions? The full fresnel equation would be about 29 instructions.

Also, why is it dot(N, L) in your code? It should be the microfacets normal and not the normal of the macro surface.

 

I included the instruction cost of calculating f0 with pow((n1-n2) / (n1+n2) , 2.0), and I used N.L because I was testing this with normalized Blinn-Phong, not a microfaceted BRDF.


#1Chris_F

Posted 30 January 2013 - 08:53 AM

For me, it seems as though this full implementation is about 24% more instructions than Schlick's method.


Only 24% more? Isn't Schlick Fresnel ks + (1 - ks) * pow(1 - dot(L, H), 5), which would be about 9 instructions? The full fresnel equation would be about 29 instructions.

Also, why is it dot(N, L) in your code? It should be the microfacets normal and not the normal of the macro surface.

 

I included the instruction cost of calculating f0 with pow((n2-n1) / (n2+n1) , 2.0), and I used N.L because I was testing this with normalized Blinn-Phong, not a microfaceted BRDF.


PARTNERS