public SpecularReflection(Spectrum r, Fresnel f) : base(BxDFType.BSDF_REFLECTION | BxDFType.BSDF_SPECULAR) { }
override public Spectrum Sample_f(Vector wo, Vector wi, float u1, float u2, float pdf) { Spectrum f = brdf.Sample_f(wo, wi, u1, u2, pdf); wi = BSDFFunction.otherHemisphere(wi); return(new Spectrum()); }
public ScaledBxdf(BxDF b, Spectrum sc) : base(b.type) { bxdf = b; s = sc; }
/// <summary> /// Spectrum Lerp /// </summary> /// <param name="t"></param> /// <param name="s1"></param> /// <param name="s2"></param> /// <returns></returns> static public Spectrum Lerp(float t, Spectrum s1, Spectrum s2) { return((1.0f - t) * s1 + t * s2); }