@@ -58,9 +58,9 @@ float G_GGX_Smith( const in float alpha, const in float dotNL, const in float do
5858
5959 float a2 = alpha * alpha;
6060
61- float gl = dotNL + pow ( a2 + ( 1.0 - a2 ) * dotNL * dotNL, 0.5 );
61+ float gl = dotNL + pow ( a2 + ( 1.0 - a2 ) * pow2( dotNL ) , 0.5 );
6262
63- float gv = dotNV + pow ( a2 + ( 1.0 - a2 ) * dotNV * dotNV, 0.5 );
63+ float gv = dotNV + pow ( a2 + ( 1.0 - a2 ) * pow2( dotNV ) , 0.5 );
6464
6565 return 1.0 / ( gl * gv );
6666
@@ -72,11 +72,11 @@ float G_GGX_Smith( const in float alpha, const in float dotNL, const in float do
7272// alpha is "roughness squared" in Disney’s reparameterization
7373float D_GGX( const in float alpha, const in float dotNH ) {
7474
75- float a2 = alpha * alpha;
75+ float a2 = pow2( alpha ) ;
7676
77- float denom = dotNH * dotNH * ( a2 - 1.0 ) + 1.0 ; // avoid alpha = 0 with dotNH = 1
77+ float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0 ; // avoid alpha = 0 with dotNH = 1
7878
79- return RECIPROCAL_PI * a2 / ( denom * denom );
79+ return RECIPROCAL_PI * a2 / pow2( denom );
8080
8181}
8282
@@ -158,7 +158,7 @@ vec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in Ge
158158
159159// source: http://simonstechblog.blogspot.ca/2011/12/microfacet-brdf.html
160160float GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {
161- return ( 2.0 / square ( ggxRoughness + 0.0001 ) - 2.0 );
161+ return ( 2.0 / pow2 ( ggxRoughness + 0.0001 ) - 2.0 );
162162}
163163
164164float BlinnExponentToGGXRoughness( const in float blinnExponent ) {
0 commit comments