Removed code that isn't in use anymore
This commit is contained in:
@@ -148,98 +148,6 @@ ccl_device float smooth_step(float edge0, float edge1, float x)
|
||||
return result;
|
||||
}
|
||||
|
||||
ccl_device void importance_sample_ggx_slopes(
|
||||
const float cos_theta_i, const float sin_theta_i,
|
||||
float randu, float randv, float *slope_x, float *slope_y,
|
||||
float *G1i)
|
||||
{
|
||||
/* special case (normal incidence) */
|
||||
if (cos_theta_i >= 0.99999f) {
|
||||
const float r = sqrtf(randu / (1.0f - randu));
|
||||
const float phi = M_2PI_F * randv;
|
||||
*slope_x = r * cosf(phi);
|
||||
*slope_y = r * sinf(phi);
|
||||
*G1i = 1.0f;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/* precomputations */
|
||||
const float tan_theta_i = sin_theta_i / cos_theta_i;
|
||||
const float G1_inv = 0.5f * (1.0f + safe_sqrtf(1.0f + tan_theta_i*tan_theta_i));
|
||||
|
||||
*G1i = 1.0f / G1_inv;
|
||||
|
||||
/* sample slope_x */
|
||||
const float A = 2.0f*randu*G1_inv - 1.0f;
|
||||
const float AA = A*A;
|
||||
const float tmp = 1.0f / (AA - 1.0f);
|
||||
const float B = tan_theta_i;
|
||||
const float BB = B*B;
|
||||
const float D = safe_sqrtf(BB*(tmp*tmp) - (AA - BB)*tmp);
|
||||
const float slope_x_1 = B*tmp - D;
|
||||
const float slope_x_2 = B*tmp + D;
|
||||
*slope_x = (A < 0.0f || slope_x_2*tan_theta_i > 1.0f) ? slope_x_1 : slope_x_2;
|
||||
|
||||
/* sample slope_y */
|
||||
float S;
|
||||
|
||||
if (randv > 0.5f) {
|
||||
S = 1.0f;
|
||||
randv = 2.0f*(randv - 0.5f);
|
||||
}
|
||||
else {
|
||||
S = -1.0f;
|
||||
randv = 2.0f*(0.5f - randv);
|
||||
}
|
||||
|
||||
const float z = (randv*(randv*(randv*0.27385f - 0.73369f) + 0.46341f)) / (randv*(randv*(randv*0.093073f + 0.309420f) - 1.000000f) + 0.597999f);
|
||||
*slope_y = S * z * safe_sqrtf(1.0f + (*slope_x)*(*slope_x));
|
||||
}
|
||||
|
||||
ccl_device float3 importance_sample_microfacet_stretched(
|
||||
const float3 omega_i, const float alpha_x, const float alpha_y,
|
||||
const float randu, const float randv,
|
||||
bool beckmann, float *G1i)
|
||||
{
|
||||
/* 1. stretch omega_i */
|
||||
float3 omega_i_ = make_float3(alpha_x * omega_i.x, alpha_y * omega_i.y, omega_i.z);
|
||||
omega_i_ = normalize(omega_i_);
|
||||
|
||||
/* get polar coordinates of omega_i_ */
|
||||
float costheta_ = 1.0f;
|
||||
float sintheta_ = 0.0f;
|
||||
float cosphi_ = 1.0f;
|
||||
float sinphi_ = 0.0f;
|
||||
|
||||
if (omega_i_.z < 0.99999f) {
|
||||
costheta_ = omega_i_.z;
|
||||
sintheta_ = safe_sqrtf(1.0f - costheta_*costheta_);
|
||||
|
||||
float invlen = 1.0f / sintheta_;
|
||||
cosphi_ = omega_i_.x * invlen;
|
||||
sinphi_ = omega_i_.y * invlen;
|
||||
}
|
||||
|
||||
/* 2. sample P22_{omega_i}(x_slope, y_slope, 1, 1) */
|
||||
float slope_x, slope_y;
|
||||
|
||||
importance_sample_ggx_slopes(costheta_, sintheta_,
|
||||
randu, randv, &slope_x, &slope_y, G1i);
|
||||
|
||||
/* 3. rotate */
|
||||
float tmp = cosphi_*slope_x - sinphi_*slope_y;
|
||||
slope_y = sinphi_*slope_x + cosphi_*slope_y;
|
||||
slope_x = tmp;
|
||||
|
||||
/* 4. unstretch */
|
||||
slope_x = alpha_x * slope_x;
|
||||
slope_y = alpha_y * slope_y;
|
||||
|
||||
/* 5. compute normal */
|
||||
return normalize(make_float3(-slope_x, -slope_y, 1.0f));
|
||||
}
|
||||
|
||||
CCL_NAMESPACE_END
|
||||
|
||||
#endif /* __BSDF_UTIL_H__ */
|
||||
|
||||
@@ -2323,29 +2323,6 @@ void DisneyBsdfNode::compile(SVMCompiler& compiler, ShaderInput *p_metallic, Sha
|
||||
__float_as_int(ss_default.x), __float_as_int(ss_default.y), __float_as_int(ss_default.z));
|
||||
}
|
||||
|
||||
void DisneyBsdfNode::simplify_settings(Scene *scene)
|
||||
{
|
||||
#if 0
|
||||
if (distribution_orig == NBUILTIN_CLOSURES) {
|
||||
distribution_orig = distribution;
|
||||
}
|
||||
Integrator *integrator = scene->integrator;
|
||||
if (integrator->filter_glossy == 0.0f) {
|
||||
/* Fallback to Sharp closure for Roughness close to 0.
|
||||
* Note: Keep the epsilon in sync with kernel!
|
||||
*/
|
||||
ShaderInput *roughness_input = input("Roughness");
|
||||
if (!roughness_input->link && roughness <= 1e-4f) {
|
||||
distribution = CLOSURE_BSDF_SHARP_GLASS_ID;
|
||||
}
|
||||
}
|
||||
else {
|
||||
/* Rollback to original distribution when filter glossy is used. */
|
||||
distribution = distribution_orig;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
bool DisneyBsdfNode::has_integrator_dependency()
|
||||
{
|
||||
ShaderInput *roughness_input = input("Roughness");
|
||||
|
||||
@@ -390,7 +390,6 @@ public:
|
||||
}
|
||||
|
||||
ClosureType get_closure_type() { return closure; }
|
||||
void simplify_settings(Scene *scene);
|
||||
bool has_integrator_dependency();
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user