On May 12, 2008, at 11:41 AM, Lauri Oksanen wrote:

let x' = x \+ dist \* dir
    nx' =  normal geometry
    wi = (-1) \* dir
    in do
        (p, wo) <- brdfCosSampling reflector nx' wi
        let color' = p \** color
            q = min 1 (scalarContribution p)
            in do
                sampler <- biasedCoinSampler q
                        (radianceSampler surfaces x' wo (q \* color'))
(terminalRadianceSampler surfaces x' nx' ((1- q) \* color'))
                sampler


Something like the following should work:

do let x'     = x \+ dist \* dir
   let nx'    = normal geometry
   let wi     = (-1) \* dir
   (p, wo)   <- brdfCosSampling reflector nx' wi
   let color' = p \** color
   let q      = min 1 (scalarContribution p)
   sampler   <- biasedCoinSampler q
                   (radianceSampler surfaces x' wo (q \* color'))
(terminalRadianceSampler surfaces x' nx' ((1-q) \* color'))
   sampler

- Jake McArthur
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to