Surface Integrators. Digital Image Synthesis Yung-Yu Chuang 12/20/2007

Size: px
Start display at page:

Download "Surface Integrators. Digital Image Synthesis Yung-Yu Chuang 12/20/2007"

Transcription

1 Surface Integrators Dgtal Image Synthess Yung-Yu Chuang 12/20/2007 wth sldes by Peter Shrley, Pat Hanrahan, Henrk Jensen, Maro Costa Sousa and Torsten Moller

2 Drect lghtng va Monte Carlo ntegraton dffuse

3 Drect lghtng va Monte Carlo ntegraton parameterzaton over hemsphere parameterzaton over surface have to add vsblty

4 Drect lghtng va Monte Carlo ntegraton take one sample accordng to a densty functon let s take

5 Drect lghtng va Monte Carlo ntegraton 1 sample/pxel 100 samples/pxel Lghts szes matter more than shapes. Nosy because x could be on the back cos vares

6 Nose reducton choose better densty functon It s equvalent to unformly samplng over the cone cap n the last lecture. cosθ = (1 ξ + 1) ξ1 cos θ max φ = 2πξ 2 cosα max

7 Drect lghtng from many lumnares Gven a par, use t to select lght and generate new par for samplng that lght. α could be constant for proportonal to power

8 Man renderng loop vod Scene::Render() { Sample *sample = new Sample(surfaceIntegrator, volumeintegrator, ths);... whle (sampler->getnextsample(sample)) { RayDfferental ray; float rw = camera->generateray(*sample, &ray); <Generate ray dfferentals for camera ray> float alpha; Spectrum Ls = 0.f; f (rw > 0.f) Ls = rw * L(ray, sample, &alpha);... camera->flm->addsample(*sample,ray,ls,alpha);... }... camera->flm->wrteimage(); }

9 Scene::L Spectrum Scene::L(RayDfferental &ray, Sample *sample, float *alpha) { Spectrum Lo=surfaceIntegrator->L( ); Spectrum T=volumeIntegrator->Transmttance( ); Spectrum Lv=volumeIntegrator->L( ); return T * Lo + Lv; } Lv L o T

10 Surface ntegrators Responsble for evaluatng the ntegral equaton core/transport.* ntegrator/* Whtted, drectlghtng, path, bdrectonal, rradancecache, photonmap g, exphotonmap class COREDLL Integrator { Spectrum L(Scene *scene, RayDfferental &ray, Sample *sample, float *alpha); vod Proprocess(Scene *scene) vod RequestSamples(Sample*, Scene*) }; class SurfaceIntegrator : publc Integrator

11 Surface ntegrators vod Preprocess(const Scene *scene) Called after scene has been ntalzed; do scenedependent computaton such as photon shootng for photon mappng. vod RequestSamples(Sample *sample, const Scene *scene) Sample s allocated once n Render(). There, sample s constructor wll call ntegrator s RequestSamples to allocate approprate space. Sample::Sample(SurfaceIntegrator *surf, VolumeIntegrator *vol, const Scene *scene) { // calculate requred number of samples // accordng to ntegraton strategy surf->requestsamples(ths, scene);...

12 Drect lghtng o o e o o d p L p f p L p L ω θ ω ω ω ω ω cos ), ( ),, ( ), ( ), ( Ω + = d o o e o o d p L p f p L p L ω θ ω ω ω ω ω cos ), ( ),, ( ), ( ), ( Ω + = Renderng equaton If we only consder drect lghtng, we can replace L by L d. smplest form of equaton somewhat easy to solve (but a gross approxmaton) knd of what we do n Whtted ray tracng Not too bad snce most energy comes from drect lghts

13 Drect lghtng Monte Carlo samplng to solve Ω f ( p, ω, ω ) L ( p, ω ) cosθ o d Samplng strategy A: sample only one lght pck up one lght as the representatve for all lghts dstrbute N samples over that lght Use multple mportance samplng for f and L d N 1 f ( p, ω o, ω j ) Ld ( p, ω j ) N 1 p( ω ) j= Scale the result by the number of lghts N L j dω cosθ j E [ f + g] Randomly pck f or g and then sample, multply the result by 2

14 Drect lghtng Samplng strategy B: sample all lghts do A for each lght sum the results smarter way would be to sample lghts accordng to ther power N L j= 1 Ω f ( p, ω, ω ) L dω o d ( j) ( p, ω ) cosθ E [ f + g] sample f or g separately and then sum them together

15 DrectLghtng enum LghtStrategy { SAMPLE_ALL_UNIFORM, SAMPLE_ONE_UNIFORM, SAMPLE_ONE_WEIGHTED }; two possble strateges; f there are many mage samples for a pxel (e.g. due to depth of feld), we prefer only samplng one lght at a tme. On the other hand, f there are few mage samples, we prefer samplng all lghts at once. class DrectLghtng : publc SurfaceIntegrator { publc: maxmal depth DrectLghtng(LghtStrategy ls, nt md);... }

16 RequestSamples Dfferent types of lghts requre dfferent number of samples, usually 2D samples. Samplng BRDF requres 2D samples. Selecton of BRDF components requres 1D samples. n1d n2d flled n by ntegrators sample oned twod allocate together to avod cache mss mem ntegrator bsdfcomponent lghtsample bsdfsample

17 DrectLghtng::RequestSamples vod RequestSamples(Sample *sample, const Scene *scene) { f (strategy == SAMPLE_ALL_UNIFORM) { u_nt nlghts = scene->lghts.sze(); lghtsampleoffset = new nt[nlghts]; bsdfsampleoffset = new nt[nlghts]; bsdfcomponentoffset = new nt[nlghts]; for (u_nt = 0; < nlghts; ++) { const Lght *lght = scene->lghts[]; nt lghtsamples gves sampler a chance to adjust to an approprate value = scene->sampler->roundsze(lght->nsamples); lghtsampleoffset[] = sample->add2d(lghtsamples); bsdfsampleoffset[] = sample->add2d(lghtsamples); bsdfcomponentoffset[] = sample->add1d(lghtsamples); } lghtnumoffset = -1; }

18 DrectLghtng::RequestSamples else { lghtsampleoffset = new nt[1]; bsdfsampleoffset = new nt[1]; bsdfcomponentoffset = new nt[1]; lghtsampleoffset[0] = sample->add2d(1); bsdfsampleoffset[0] = sample->add2d(1); bsdfcomponentoffset[0] = sample->add1d(1); } } lghtnumoffset = sample->add1d(1); whch lght to sample

19 DrectLghtng::L Spectrum DrectLghtng::L(Scene *scene, RayDfferental &ray, Sample *sample, float *alpha) { Intersecton sect; Spectrum L(0.); f (scene->intersect(ray, &sect)) { // Evaluate BSDF at ht pont BSDF *bsdf = sect.getbsdf(ray); Vector wo = -ray.d; const Pont &p = bsdf->dgshadng.p; const Normal &n = bsdf->dgshadng.nn; <Compute emtted lght; see next slde> } else { // handle ray wth no ntersecton } return L; }

20 DrectLghtng::L L o( p, o) = Le ( p, ωo) + Ω ω f ( p, ω, ω ) L ( p, ω ) cosθ o d dω L += sect.le(wo); f (scene->lghts.sze() > 0) { swtch (strategy) { case SAMPLE_ALL_UNIFORM: L += UnformSampleAllLghts(scene, p, n, wo, bsdf, sample, lghtsampleoffset, bsdfsampleoffset, bsdfcomponentoffset); break; case SAMPLE_ONE_UNIFORM: L += UnformSampleOneLght(scene, p, n, wo, bsdf, sample, lghtsampleoffset[0], lghtnumoffset, bsdfsampleoffset[0], bsdfcomponentoffset[0]); break;

21 DrectLghtng::L case SAMPLE_ONE_WEIGHTED: sample accordng to power L += WeghtedSampleOneLght(scene, p, n, wo, bsdf, sample, lghtsampleoffset[0], lghtnumoffset, bsdfsampleoffset[0], bsdfcomponentoffset[0], avgy, avgysample, cdf, overallavgy); break; } } f (raydepth++ < maxdepth) { // add specular reflected and transmtted contrbutons } Ths part s essentally the same as Whtted ntegrator. The man dfference between Whtted and DrectLghtng s the way they sample lghts. Whtted uses sample_l to take one sample for each lght. DrectLghtng uses multple Importance samplng to sample both lghts and BRDFs.

22 Whtted::L... // Add contrbuton of each lght source Vector w; for ( = 0; < scene->lghts.sze(); ++) { VsbltyTester vsblty; Spectrum L = scene->lghts[]-> Sample_L(p, &w, &vsblty); f (L.Black()) contnue; Spectrum f = bsdf->f(wo, w); f (!f.black() && vsblty.unoccluded(scene)) L += f * L * AbsDot(w, n) * vsblty.transmttance(scene); }...

23 UnformSampleAllLghts Spectrum UnformSampleAllLghts(...) { Spectrum L(0.); for (u_nt =0;<scene->lghts.sze();++) { Lght *lght = scene->lghts[]; nt nsamples = (sample && lghtsampleoffset)? sample->n2d[lghtsampleoffset[]] : 1; Spectrum Ld(0.); for (nt j = 0; j < nsamples; ++j) Ld += EstmateDrect(...); } L += Ld / nsamples; } return L; compute contrbuton for one sample for one lght f ( p, ω, ω ) L o j d ( p, ω ) cosθ p( ω ) j j j

24 UnformSampleOneLght Spectrum UnformSampleOneLght (...) { nt nlghts = nt(scene->lghts.sze()); nt lghtnum; f (lghtnumoffset!= -1) lghtnum = Floor2Int(sample->oneD[lghtNumOffset][0]*nLghts); else lghtnum = Floor2Int(RandomFloat() * nlghts); lghtnum = mn(lghtnum, nlghts-1); Lght *lght = scene->lghts[lghtnum]; return (float)nlghts * EstmateDrect(...); }

25 Multple mportance samplng = = + f n g j j g g j j g n f f f Y p Y w Y g Y f n X p X w X g X f n 1 1 ) ( ) ( ) ( ) ( 1 ) ( ) ( ) ( ) ( 1 ( ) ( ) = s s s x p n x p n x w β β ) ( ) ( ) (

26 EstmateDrect Spectrum EstmateDrect(Scene *scene, Lght *lght, Pont &p, Normal &n, Vector &wo, BSDF *bsdf, Sample *sample, nt lghtsamp, nt bsdfsamp, nt bsdfcomponent, u_nt samplenum) { f ( p, ω, ω ) L ( p, ω ) cosθ p( ω ) Spectrum Ld(0.); j float ls1, ls2, bs1, bs2, bcs; f (lghtsamp!= -1 && bsdfsamp!= -1 && samplenum < sample->n2d[lghtsamp] && samplenum < sample->n2d[bsdfsamp]) { ls1 = sample->twod[lghtsamp][2*samplenum]; ls2 = sample->twod[lghtsamp][2*samplenum+1]; bs1 = sample->twod[bsdfsamp][2*samplenum]; bs2 = sample->twod[bsdfsamp][2*samplenum+1]; bcs = sample->oned[bsdfcomponent][samplenum]; } else { ls1 = RandomFloat(); ls2 = RandomFloat();... } o j d j j

27 Sample lght wth MIS Spectrum L = lght->sample_l(p, n, ls1, ls2, &w, &lghtpdf, &vsblty); f (lghtpdf > 0. &&!L.Black()) { Spectrum f = bsdf->f(wo, w); f (!f.black() && vsblty.unoccluded(scene)) { L *= vsblty.transmttance(scene); f (lght->isdeltalght()) Ld += f * L * AbsDot(w, n) / lghtpdf; else { bsdfpdf = bsdf->pdf(wo, w); float weght = PowerHeurstc(1,lghtPdf,1,bsdfPdf); Ld += f * L * AbsDot(w, n) * weght / lghtpdf; } } } f ( p, ω, ω ) L o j d ( p, ω ) cosθ j p( ω ) j j w L ( ω ) j

28 Sample BRDF wth MIS f (!lght->isdeltalght()) { Only for non-delta lght and BSDF BxDFType flags = BxDFType(BSDF_ALL & ~BSDF_SPECULAR); Spectrum f = bsdf->sample_f(wo, &w, bs1, bs2, bcs, &bsdfpdf, flags); f (!f.black() && bsdfpdf > 0.) { lghtpdf = lght->pdf(p, n, w); f (lghtpdf > 0.) { // Add lght contrbuton from BSDF samplng float weght = PowerHeurstc(1,bsdfPdf,1,lghtPdf); Spectrum L(0.f); RayDfferental ray(p, w); f (scene->intersect(ray, &lghtisect)) { f (lghtisect.prmtve->getarealght() == lght) L = lghtisect.le(-w); } else L = lght->le(ray); for nfnte area lght f (!L.Black()) { L *= scene->transmttance(ray); Ld += f * L * AbsDot(w, n) * weght / bsdfpdf; } } }

29 Drect lghtng

30 The lght transport equaton The goal of ntegrator s to numercally solve the lght transport equaton, governng the equlbrum dstrbuton of radance n a scene.

31 The lght transport equaton

32 Analytc soluton to the LTE In general, t s mpossble to fnd an analytc soluton to the LTE because of complex BRDF, arbtrary scene geometry and ntrcate vsblty. For a extremely smple scene, e.g. nsde a unformly emttng Lambertan sphere, t s however possble. Ths s useful for debuggng. Radance should be the same for all ponts L = Le + cπl

33 Analytc soluton to the LTE L = Le + cπl L = L + ρ L = = L L e e e + + ρ ρ hh hh hh ( L ( L e e + + ρ ρ hh hh L) ( L e +... = = 0 L e ρ hh L L e = ρ hh 1 1 ρ hh

34 Surface form of the LTE

35 Surface form of the LTE These two forms are equvalent, but they represent two dfferent ways of approachng lght transport.

36 Surface form of the LTE

37 Surface form of the LTE

38 Surface form of the LTE

39 Delta dstrbuton

40 Partton the ntegrand

41 Partton the ntegrand

42 Partton the ntegrand

43 Renderng operators

44 Solvng the renderng equaton

45 Successve approxmaton

46 Successve approxmaton

47 Lght Transport Notaton (Hekbert 1990) Regular expresson denotng sequence of events along a lght path alphabet: {L,E,S,D,G} L a lght source (emtter) E the eye S specular reflecton/transmsson D dffuse reflecton/transmsson G glossy reflecton/transmsson operators: (k) + one or more of k (k) * zero or more of k (teraton) (k k ) a k or a k event

48 Lght Transport Notaton: Examples LSD a path startng at a lght, havng one specular reflecton and endng at a dffuse reflecton D L S

49 Lght Transport Notaton: Examples L(S D) + DE a path startng at a lght, havng one or more dffuse or specular reflectons, then a fnal dffuse reflecton toward the eye E D L S

50 Lght Transport Notaton: Examples L(S D) + DE a path startng at a lght, havng one or more dffuse or specular reflectons, then a fnal dffuse reflecton toward the eye S D E L D S

51

52

53 Renderng algorthms Ray castng: E(D G)L Whtted: E[S*](D G)L Kajya: E[(D G S) + (D G)]L Goral: ED*L

54 The renderng equaton

55 The renderng equaton

56 The radosty equaton

57 Radosty formulate the basc radosty equaton: B m = E m + ρ m N n=1 B n F mn B m = radosty = total energy leavng surface m (energy/unt area/unt tme) E m = energy emtted from surface m (energy/unt area/unt tme) ρ m = reflectvty, fracton of ncdent lght reflected back nto envronment F mn = form factor, fracton of energy leavng surface n that lands on surface m (A m = area of surface m)

58 Brng all the B s on one sde of the equaton ths leads to ths equaton system: E m = B m ρ m B n F mn m = N N NN N N N N N N N E E E B B B F F F F F F F F F M M M O M M ρ ρ ρ ρ ρ ρ ρ ρ ρ Radosty E B S = o

59 Path tracng Proposed by Kajya n hs classc SIGGRAPH 1986 paper, renderng equaton, as the soluton for Incrementally generates path of scatterng events startng from the camera and endng at lght sources n the scene. Two questons to answer How to do t n fnte tme? How to generate one or more paths to compute

60 Infnte sum In general, the longer the path, the less the mpact. Use Russan Roulette after a fnte number of bounces Always compute the frst few terms Stop after that wth probablty q

61 Infnte sum Take ths dea further and nstead randomly consder termnatng evaluaton of the sum at each term wth probablty q

62 Path generaton (frst tral) Frst, pck up surface n the scene randomly and unformly Then, pck up a pont on ths surface randomly and unformly wth probablty Overall probablty of pckng a random surface pont n the scene: = j j A A p A 1 = = j j j j A A A A A p p 1 1 ) (

63 Path generaton (frst tral) Ths s repeated for each pont on the path. Last pont should be sampled on lght sources only. If we know characterstcs about the scene (such as whch objects are contrbutng most ndrect lghtng to the scene), we can sample more smartly. Problems: Hgh varance: only few ponts are mutually vsble,.e. many of the paths yeld zero. Incorrect ntegral: for delta dstrbutons, we rarely fnd the rght path drecton

64 Incremental path generaton For pathp = p0 p1... p j p j p At each p j, fnd p j+1 accordng to BSDF At p -1, fnd p by multple mportance samplng of BSDF and L Ths algorthm dstrbutes samples accordng to sold angle nstead of area. So, the dstrbuton p A needs to be adjusted p A ( p ) = p ω p p + 1 cosθ 2

65 Incremental path generaton Monte Carlo estmator p 1 Implementaton re-uses path for new path Ths ntroduces correlaton, but speed makes up for t. p

66 Path tracng

67 Drect lghtng

68 Path tracng 8 samples per pxel

69 Path tracng 1024 samples per pxel

70 Bdrectonal path tracng Compose one path p from two paths p 1 p 2 p started at the camera p 0 and q j q j-1 q 1 started at the lght source q 0 p Modfcaton for effcency: p Use all paths whose lengths rangng from 2 to +j = 1 p2 p, q jq j q 1 Helpful for the stuatons n whch lghts are dffcult to reach and caustcs

71 Bdrectonal path tracng

72 Nose reducton/removal More samples (slow convergence) Better samplng (stratfed, mportance etc.) Flterng Cachng and nterpolaton

73 Based approaches By ntroducng bas (makng smoothness assumptons), based methods produce mages wthout hgh-frequency nose Unlke unbased methods, errors may not be reduced by addng samples n based methods On contrast, when there s lttle error n the result of an unbased method, we are confdent that t s close to the rght answer Three based approaches Flterng Irradance cachng Photon mappng

74 The world s more dffuse!

75 Flterng Nose s hgh frequency Methods: Smple flters Ansotropc flters Energy preservng flters Problems wth flterng: everythng s fltered (blurred)

76 Path tracng (10 paths/pxel)

77 3x3 lowpass flter

78 3x3 medan flter

79 Cachng technques Irradance cachng: compute rradance at selected ponts and nterpolate Photon mappng: trace photons from the lghts and store them n a photon map, that can be used durng renderng

80 Drect llumnaton

81 Global llumnaton

82 Indrect rradance Indrect llumnaton tends to be low frequency

83 Irradance cachng Introduced by Greg Ward 1988 Implemented n Radance renderer Contrbutons from ndrect lghtng often vary smoothly cache and nterpolate results

84 Irradance cachng Compute ndrect lghtng at sparse set of samples Interpolate neghborng values from ths set of samples Issues How s the ndrect lghtng represented How to come up wth such a sparse set of samples? How to store these samples? When and how to nterpolate?

85 Set of samples Indrect lghtng s computed on demand, store rradance n a spatal data structure. If there s no good nearby samples, then compute a new rradance sample Irradance (radance s drecton dependent, expensve to store) If the surface s Lambertan, H d p L p E ω θ ω = 2 cos ), ( ) ( ) ( cos ), ( cos ), ( ),, ( ), ( 2 2 p E d p L d p L p f p L H H o o o ρ ω θ ω ρ ω θ ω ω ω ω = = =

86 Set of samples For dffuse scenes, rradance alone s enough nformaton for accurate computaton For nearly dffuse surfaces (such as Oren-Nayar or a glossy surface wth a very wde specular lobe), we can vew rradance cachng makes the followng approxmaton ( )( ) ( ) ) ( ) ( cos ), ( ),, ( ), ( p E d p L d p f p L o hd H H o o o ω ρ ω θ ω ω ω ω ω drectonal reflectance

87 Set of samples Not a good approxmaton for specular surfaces specular Whtted ntegrator Dffuse rradance cachng Interpolate from known ponts Cosne-weghted Path tracng sample ponts E( p) = L ( p, ω ) cosθ 2 H dω 1 L = ( p, ω j ) cosθ j E( p) N j p( ω j ) π E ( p) = L ( p, ω j ) N j p( ω) = cosθ π

88 Storng samples {E,p,n,d} d

89 Interpolatng from neghbors Skp samples Normals are too dfferent Too far away In front Weght (ad hoc) w = 1 d d max 1 ' N N 2 Fnal rradance estmate s smply the weghted sum E = w E w

90 IrradanceCache class IrradanceCache : publc SurfaceIntegrator {... float maxerror; how frequently rradance samples are computed or nterpolated nt nsamples; how many rays for rradance samples nt maxspeculardepth, maxindrectdepth; mutable nt speculardepth; current depth for specular }

91 IrradanceCache::L L += sect.le(wo); L += UnformSampleAllLghts(scene, p, n, wo,...); f (speculardepth++ < maxspeculardepth) { <Trace rays for specular reflecton and refracton> } --speculardepth; // Estmate ndrect lghtng wth rradance cache... BxDFType flags = BxDFType(BSDF_REFLECTION BSDF_DIFFUSE BSDF_GLOSSY); L+=IndrectLo(p, ng, wo, bsdf, flags, sample, scene); flags = BxDFType(BSDF_TRANSMISSION BSDF_DIFFUSE BSDF_GLOSSY); L+=IndrectLo(p, -ng, wo, bsdf, flags, sample,scene);

92 IrradanceCache::IndrectLo f (!InterpolateIrradance(scene, p, n, &E)) {... // Compute rradance at current pont for (nt = 0; < nsamples; ++) { <Path tracng to compute radances along ray for rradance sample> E += L; float dst = r.maxt * r.d.length(); // max dstance suminvdsts += 1.f / dst; } E *= M_PI / float(nsamples);... // Add computed rradance value to cache octree->add(irradancesample(e,p,n,nsamples/suminvdsts), sampleextent); } return.5f * bsdf->rho(wo, flags) * E;

93 Octree Constructed at Preprocess() vod IrradanceCache::Preprocess(const Scene *scene) { BBox wb = scene->worldbound(); Vector delta =.01f * (wb.pmax - wb.pmn); wb.pmn -= delta; wb.pmax += delta; octree=new Octree<IrradanceSample,IrradProcess>(wb); } struct IrradanceSample { Spectrum E; Normal n; Pont p; float maxdst; };

94 InterpolateIrradance Bool InterpolateIrradance(const Scene *scene, const Pont &p, const Normal &n, Spectrum *E) { f (!octree) return false; IrradProcess proc(n, maxerror); octree->lookup(p, proc); Traverse the octree; for each node where the query pont s nsde, call a method of proc to process for each rradacne sample. } f (!proc.successful()) return false; *E = proc.getirradance(); return true;

95 IrradProcess vod IrradProcess::operator()(const Pont &p, const IrradanceSample &sample) { // Skp f surface normals are too dfferent f (Dot(n, sample.n) < 0.01f) return; // Skp f t's too far from the sample pont float d2 = DstanceSquared(p, sample.p); f (d2 > sample.maxdst * sample.maxdst) return; // Skp f t's n front of pont beng shaded Normal navg = sample.n + n; f (Dot(p - sample.p, navg) < -.01f) return; // Compute estmate error and possbly use sample float err=sqrtf(d2)/(sample.maxdst*dot(n,sample.n)); f (err < 1.) { float wt = (1.f - err) * (1.f - err); } } E += wt * sample.e; sumwt += wt; w = 1 d d max 1 ' N N 2

96 Comparson wth same lmted tme Irradance cachng Blotch artfacts Path tracng Hgh-frequency noses

97 Irradance cachng Irradance cachng Irradance sample postons

98 Photon mappng It can handle both dffuse and glossy reflecton; specular reflecton s handled by recursve ray tracng Two-step partcle tracng algorthm Photon tracng Smulate the transport of ndvdual photons Photons emtted from source Photons deposted on surfaces Photons reflected from surfaces to surfaces Renderng Collect photons for renderng

99 Photon tracng Preprocess: cast rays from lght sources

100 Photon tracng Preprocess: cast rays from lght sources Store photons (poston + lght power + ncomng drecton)

101 Photon map Effcently store photons for fast access Use herarchcal spatal structure (kd-tree)

102 Renderng (fnal gatherng) Cast prmary rays; for the secondary rays, reconstruct rradance usng the k closest stored photon

103 Renderng (wthout fnal gather) o o e o o d p L p f p L p L ω θ ω ω ω ω ω cos ), ( ),, ( ), ( ), ( Ω + =

104 Renderng (wth fnal gather)

105 Photon mappng results photon map renderng

106 Photon mappng - caustcs Specal photon map for specular reflecton and refracton

107 Caustcs Path tracng: 1,000 paths/pxel Photon mappng

108 PhotonIntegrator class PhotonIntegrator : publc SurfaceIntegrator { nt ncaustcphotons,nindrectphotons,ndrectphotons; nt nlookup; number of photons for nterpolaton (50~100) nt speculardepth, maxspeculardepth; float maxdstsquared; search dstance; too large, waste tme; too small, not enough samples bool drectwthphotons, fnalgather; nt gathersamples; } Left: 100K photons 50 photons n radance estmate Rght: 500K photons 500 photons n radance estmate

109 Photon map Kd-tree s used to store photons, decoupled from the scene geometry

110 Photon shootng Implemented n Preprocess method Three types of photons (caustc, drect, ndrect) struct Photon { Pont p; Spectrum alpha; Vector w; }; w p α

111 Photon shootng Use Halton sequence snce number of samples s unknown beforehand, startng from a sample L lght wth energy e ( p0, ω0). Store photons for nonspecular p( p0, ω0) surfaces.

112 Photon shootng vod PhotonIntegrator::Preprocess(const Scene *scene) { vector<photon> caustcphotons; vector<photon> drectphotons; vector<photon> ndrectphotons; whle (!caustcdone!drectdone!ndrectdone) { ++nshot; <trace a photon path and store contrbuton> } }

113 Photon shootng Spectrum alpha = lght->sample_l(scene, u[0], u[1], u[2], u[3], &photonray, &pdf); alpha /= pdf * lghtpdf; Whle (scene->intersect(photonray, &photonisect)) { alpha *= scene->transmttance(photonray); <record photon dependng on type> <sample next drecton> Spectrum fr = photonbsdf->sample_f(wo, &w, u1, u2, u3, &pdf, BSDF_ALL, &flags); alpha*=fr*absdot(w, photonbsdf->dgshadng.nn)/ pdf; photonray = RayDfferental(photonIsect.dg.p, w); f (nintersectons > 3) { f (RandomFloat() >.5f) break; alpha /=.5f; } }

114 Renderng Partton the ntegrand ( ) = Δ Δ cos ), ( ), ( ), ( ),, ( cos ), ( ),, ( cos ), ( ),, (,,, S c d o S o S o d p L p L p L p f d p L p f d p L p f ω θ ω ω ω ω ω ω θ ω ω ω ω θ ω ω ω

115 Renderng L += sect.le(wo); // Compute drect lghtng for photon map ntegrator f (drectwthphotons) L += LPhoton(drectMap,...); else L += UnformSampleAllLghts(...); // Compute ndrect lghtng for photon map ntegrator L += LPhoton(caustcMap,...); f (fnalgather) { <Do one-bounce fnal gather for photon map> } else L += LPhoton(ndrectMap,...); // Compute specular reflecton and refracton

116 Fnal gather for (nt = 0; < gathersamples; ++) { <compute radance for a random BSDF-sampled drecton for fnal gather ray> } L += L/float(gatherSamples);

117 Fnal gather BSDF *gatherbsdf = gatherisect.getbsdf(bounceray); Vector bouncewo = -bounceray.d; Spectrum Lndr = LPhoton(drectMap, ndrectpaths, nlookup, gatherbsdf, gatherisect, bouncewo, maxdstsquared) + LPhoton(ndrectMap, nindrectpaths, nlookup, gatherbsdf, gatherisect, bouncewo, maxdstsquared) + LPhoton(caustcMap, ncaustcpaths, nlookup, gatherbsdf, gatherisect, bouncewo,maxdstsquared); Lndr *= scene->transmttance(bounceray); L += fr * Lndr * AbsDot(w, n) / pdf;

118 Renderng 50,000 drect photons shadow rays are traced for drect lghtng

119 Renderng 500,000 drect photons caustcs

120 Photon mappng Drect llumnaton Photon mappng

121 Photon mappng + fnal gatherng Photon mappng +fnal gatherng Photon mappng

122 Photon nterpolaton LPhoton() fnds the nlookup closest photons and uses them to compute the radance at the pont. A kd-tree s used to store photons. To mantan the nlookup closest photons effcently durng search, a heap s used. For nterpolaton, a statstcal technque, densty estmaton, s used. Densty estmaton constructs a PDF from a set of gven samples, for example, hstogram.

123 Kernel method pˆ( x) = 1 Nh N = 1 k x x h wndow wdth where - k(x)dx = 1 h too wde too smooth h too narrow too bumpy k( t) = (1 2t ) / 5 t < 0 otherwse 5 h=0.1

124 Generalzed nth nearest-neghbor estmate float scale=1.f/(float(npaths)*maxdstsquared* M_PI); ) ( ) ( 1 ) ˆ( 1 = = N n n x d x x k x Nd x p dstance to nth nearest neghbor ω o < = otherwse 0 1 ) ( 1 x x k π 2D constant kernel

125 LPhoton f (bsdf->numcomponents(bxdftype(bsdf_reflection BSDF_TRANSMISSION BSDF_GLOSSY)) > 0) { // extant radance from photons for glossy surface for (nt = 0; < nfound; ++) { BxDFType flag=dot(nf, photons[].photon->w)> 0.f? BSDF_ALL_REFLECTION : BSDF_ALL_TRANSMISSION; L += bsdf->f(wo, photons[].photon->w, flag) * (scale * photons[].photon->alpha); }} else { // extant radance from photons for dffuse surface Spectrum Lr(0.), Lt(0.); for (nt = 0; < nfound; ++) f (Dot(Nf, photons[].photon->w) > 0.f) Lr += photons[].photon->alpha; else Lt += photons[].photon->alpha; L+=(scale*INV_PI)*(Lr*bsdf->rho(wo,BSDF_ALL_REFLECTION) +Lt*bsdf->rho(wo, BSDF_ALL_TRANSMISSION)); }

126 Results

Surface Integrators. Digital Image Synthesis Yung-Yu Chuang 12/13/2005

Surface Integrators. Digital Image Synthesis Yung-Yu Chuang 12/13/2005 Surface Integrators Digital Image Synthesis Yung-Yu Chuang 12/13/2005 with slides by Pat Hanrahan, Henrik Jensen, Mario Costa Sousa and Torsten Moller Surface integrators Responsible for evaluating the

More information

Discussion. History and Outline. Smoothness of Indirect Lighting. Irradiance Caching. Irradiance Calculation. Advanced Computer Graphics (Fall 2009)

Discussion. History and Outline. Smoothness of Indirect Lighting. Irradiance Caching. Irradiance Calculation. Advanced Computer Graphics (Fall 2009) Advanced Computer Graphcs (Fall 2009 CS 29, Renderng Lecture 6: Recent Advances n Monte Carlo Offlne Renderng Rav Ramamoorth http://nst.eecs.berkeley.edu/~cs29-13/fa09 Dscusson Problems dfferent over years.

More information

Discussion. History and Outline. Smoothness of Indirect Lighting. Irradiance Calculation. Irradiance Caching. Advanced Computer Graphics (Fall 2009)

Discussion. History and Outline. Smoothness of Indirect Lighting. Irradiance Calculation. Irradiance Caching. Advanced Computer Graphics (Fall 2009) Advanced Computer Graphcs (Fall 2009 CS 283, Lecture 13: Recent Advances n Monte Carlo Offlne Renderng Rav Ramamoorth http://nst.eecs.berkeley.edu/~cs283/fa10 Dscusson Problems dfferent over years. Intally,

More information

Monte Carlo Rendering

Monte Carlo Rendering Monte Carlo Renderng Last Tme? Modern Graphcs Hardware Cg Programmng Language Gouraud Shadng vs. Phong Normal Interpolaton Bump, Dsplacement, & Envronment Mappng Cg Examples G P R T F P D Today Does Ray

More information

PBRT core. Announcements. pbrt. pbrt plug-ins

PBRT core. Announcements. pbrt. pbrt plug-ins Announcements PBRT core Dgtal Image Synthess Yung-Yu Chuang 9/27/2007 Please subscrbe the malng lst. Wndows complaton Debuggng n Wndows Doxygen (onlne, download or doxygen by yourself) HW#1 wll be assgned

More information

Monte Carlo Integration

Monte Carlo Integration Introducton Monte Carlo Integraton Dgtal Image Synthess Yung-Yu Chuang 11/9/005 The ntegral equatons generally don t have analytc solutons, so we must turn to numercal methods. L ( o p,ωo) = L e ( p,ωo)

More information

Complex Filtering and Integration via Sampling

Complex Filtering and Integration via Sampling Overvew Complex Flterng and Integraton va Samplng Sgnal processng Sample then flter (remove alases) then resample onunform samplng: jtterng and Posson dsk Statstcs Monte Carlo ntegraton and probablty theory

More information

Monte Carlo 1: Integration

Monte Carlo 1: Integration Monte Carlo : Integraton Prevous lecture: Analytcal llumnaton formula Ths lecture: Monte Carlo Integraton Revew random varables and probablty Samplng from dstrbutons Samplng from shapes Numercal calculaton

More information

Monte Carlo 1: Integration

Monte Carlo 1: Integration Monte Carlo : Integraton Prevous lecture: Analytcal llumnaton formula Ths lecture: Monte Carlo Integraton Revew random varables and probablty Samplng from dstrbutons Samplng from shapes Numercal calculaton

More information

Global Illumination. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/26/07 1

Global Illumination. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/26/07 1 Global Illumnaton Computer Graphcs COMP 770 (236) Sprng 2007 Instructor: Brandon Lloyd 3/26/07 1 From last tme Robustness ssues Code structure Optmzatons Acceleraton structures Dstrbuton ray tracng ant-alasng

More information

Global Illumination and Radiosity

Global Illumination and Radiosity Global Illumnaton and Radosty CS535 Danel G. Alaga Department of Computer Scence Purdue Unversty Recall: Lghtng and Shadng Lght sources Pont lght Models an omndrectonal lght source (e.g., a bulb) Drectonal

More information

Computer Graphics. Jeng-Sheng Yeh 葉正聖 Ming Chuan University (modified from Bing-Yu Chen s slides)

Computer Graphics. Jeng-Sheng Yeh 葉正聖 Ming Chuan University (modified from Bing-Yu Chen s slides) Computer Graphcs Jeng-Sheng Yeh 葉正聖 Mng Chuan Unversty (modfed from Bng-Yu Chen s sldes) llumnaton and Shadng llumnaton Models Shadng Models for Polygons Surface Detal Shadows Transparency Global llumnaton

More information

Plane Sampling for Light Paths from the Environment Map

Plane Sampling for Light Paths from the Environment Map jgt 2009/5/27 16:42 page 1 #1 Vol. [VOL], No. [ISS]: 1 6 Plane Samplng for Lght Paths from the Envronment Map Holger Dammertz and Johannes Hanka Ulm Unversty Abstract. We present a method to start lght

More information

Motivation. Motivation. Monte Carlo. Example: Soft Shadows. Outline. Monte Carlo Algorithms. Advanced Computer Graphics (Fall 2009)

Motivation. Motivation. Monte Carlo. Example: Soft Shadows. Outline. Monte Carlo Algorithms. Advanced Computer Graphics (Fall 2009) Advanced Comuter Grahcs Fall 29 CS 294, Renderng Lecture 4: Monte Carlo Integraton Rav Ramamoorth htt://nst.eecs.berkeley.edu/~cs294-3/a9 Motvaton Renderng = ntegraton Relectance equaton: Integrate over

More information

Global Illumination and Radiosity

Global Illumination and Radiosity Global Illumnaton and Radosty CS535 Danel G. Alaga Department of Computer Scence Purdue Unversty Recall: Lghtng and Shadng Lght sources Pont lght Models an omndrectonal lght source (e.g., a bulb) Drectonal

More information

Global Illumination: Radiosity

Global Illumination: Radiosity Last Tme? Global Illumnaton: Radosty Planar Shadows Shadow Maps An early applcaton of radatve heat transfer n stables. Projectve Texture Shadows (Texture Mappng) Shadow Volumes (Stencl Buffer) Schedule

More information

Real-time. Shading of Folded Surfaces

Real-time. Shading of Folded Surfaces Rhensche Fredrch-Wlhelms-Unverstät Bonn Insttute of Computer Scence II Computer Graphcs Real-tme Shadng of Folded Surfaces B. Ganster, R. Klen, M. Sattler, R. Sarlette Motvaton http://www www.vrtualtryon.de

More information

Global Illumination and Radiosity

Global Illumination and Radiosity Global Illumnaton and Radosty CS535 Danel lg. Alaga Department of Computer Scence Purdue Unversty Recall: Lghtng and Shadng Lght sources Pont lght Models an omndrectonal lght source (e.g., a bulb) Drectonal

More information

Diffuse and specular interreflections with classical, deterministic ray tracing

Diffuse and specular interreflections with classical, deterministic ray tracing Dffuse and specular nterreflectons wth classcal, determnstc ray tracng Gergely Vass gergely_vass@sggraph.org Dept. of Control Engneerng and Informaton Technology Techncal Unversty of Budapest Budapest,

More information

Topic 13: Radiometry. The Basic Light Transport Path

Topic 13: Radiometry. The Basic Light Transport Path Topc 3: Raometry The bg pcture Measurng lght comng from a lght source Measurng lght fallng onto a patch: Irraance Measurng lght leavng a patch: Raance The Lght Transport Cycle The BrecAonal Reflectance

More information

Scan Conversion & Shading

Scan Conversion & Shading Scan Converson & Shadng Thomas Funkhouser Prnceton Unversty C0S 426, Fall 1999 3D Renderng Ppelne (for drect llumnaton) 3D Prmtves 3D Modelng Coordnates Modelng Transformaton 3D World Coordnates Lghtng

More information

Scan Conversion & Shading

Scan Conversion & Shading 1 3D Renderng Ppelne (for drect llumnaton) 2 Scan Converson & Shadng Adam Fnkelsten Prnceton Unversty C0S 426, Fall 2001 3DPrmtves 3D Modelng Coordnates Modelng Transformaton 3D World Coordnates Lghtng

More information

Color in OpenGL Polygonal Shading Light Source in OpenGL Material Properties Normal Vectors Phong model

Color in OpenGL Polygonal Shading Light Source in OpenGL Material Properties Normal Vectors Phong model Color n OpenGL Polygonal Shadng Lght Source n OpenGL Materal Propertes Normal Vectors Phong model 2 We know how to rasterze - Gven a 3D trangle and a 3D vewpont, we know whch pxels represent the trangle

More information

Interactive Rendering of Translucent Objects

Interactive Rendering of Translucent Objects Interactve Renderng of Translucent Objects Hendrk Lensch Mchael Goesele Phlppe Bekaert Jan Kautz Marcus Magnor Jochen Lang Hans-Peter Sedel 2003 Presented By: Mark Rubelmann Outlne Motvaton Background

More information

Computer graphics III Light reflection, BRDF. Jaroslav Křivánek, MFF UK

Computer graphics III Light reflection, BRDF. Jaroslav Křivánek, MFF UK Computer graphcs III Lght reflecton, BRDF Jaroslav Křvánek, MFF UK Jaroslav.Krvanek@mff.cun.cz Basc radometrc quanttes Image: Wojcech Jarosz CG III (NPGR010) - J. Křvánek 2015 Interacton of lght wth a

More information

Surface Mapping One. CS7GV3 Real-time Rendering

Surface Mapping One. CS7GV3 Real-time Rendering Surface Mappng One CS7GV3 Real-tme Renderng Textures Add complexty to scenes wthout addtonal geometry Textures store ths nformaton, can be any dmenson Many dfferent types: Dffuse most common Ambent, specular,

More information

Form-factors Josef Pelikán CGG MFF UK Praha.

Form-factors Josef Pelikán CGG MFF UK Praha. Form-factors 1996-2016 Josef Pelkán CGG MFF UK Praha pepca@cgg.mff.cun.cz http://cgg.mff.cun.cz/~pepca/ FormFactor 2016 Josef Pelkán, http://cgg.mff.cun.cz/~pepca 1 / 23 Form-factor F It ndcates the proporton

More information

Computer Sciences Department

Computer Sciences Department Computer Scences Department Populaton Monte Carlo Path Tracng Yu-Ch La Charles Dyer Techncal Report #1614 September 2007 Populaton Monte Carlo Path Tracng Yu-Ch La Unversty of Wsconsn at Madson Graphcs-Vson

More information

Biostatistics 615/815

Biostatistics 615/815 The E-M Algorthm Bostatstcs 615/815 Lecture 17 Last Lecture: The Smplex Method General method for optmzaton Makes few assumptons about functon Crawls towards mnmum Some recommendatons Multple startng ponts

More information

Lighting. Dr. Scott Schaefer

Lighting. Dr. Scott Schaefer Lghtng Dr. Scott Schaefer 1 Lghtng/Illumnaton Color s a functon of how lght reflects from surfaces to the eye Global llumnaton accounts for lght from all sources as t s transmtted throughout the envronment

More information

Outline. Type of Machine Learning. Examples of Application. Unsupervised Learning

Outline. Type of Machine Learning. Examples of Application. Unsupervised Learning Outlne Artfcal Intellgence and ts applcatons Lecture 8 Unsupervsed Learnng Professor Danel Yeung danyeung@eee.org Dr. Patrck Chan patrckchan@eee.org South Chna Unversty of Technology, Chna Introducton

More information

Introduction to Radiosity

Introduction to Radiosity EECS 487: Interactve Computer Graphcs EECS 487: Interactve Computer Graphcs Renderng a Scene Introducton to Radosty John. Hughes and ndres van Dam rown Unversty The scene conssts of a geometrc arrangement

More information

Machine Learning: Algorithms and Applications

Machine Learning: Algorithms and Applications 14/05/1 Machne Learnng: Algorthms and Applcatons Florano Zn Free Unversty of Bozen-Bolzano Faculty of Computer Scence Academc Year 011-01 Lecture 10: 14 May 01 Unsupervsed Learnng cont Sldes courtesy of

More information

Some Tutorial about the Project. Computer Graphics

Some Tutorial about the Project. Computer Graphics Some Tutoral about the Project Lecture 6 Rastersaton, Antalasng, Texture Mappng, I have already covered all the topcs needed to fnsh the 1 st practcal Today, I wll brefly explan how to start workng on

More information

Unsupervised Learning

Unsupervised Learning Pattern Recognton Lecture 8 Outlne Introducton Unsupervsed Learnng Parametrc VS Non-Parametrc Approach Mxture of Denstes Maxmum-Lkelhood Estmates Clusterng Prof. Danel Yeung School of Computer Scence and

More information

Accounting for the Use of Different Length Scale Factors in x, y and z Directions

Accounting for the Use of Different Length Scale Factors in x, y and z Directions 1 Accountng for the Use of Dfferent Length Scale Factors n x, y and z Drectons Taha Soch (taha.soch@kcl.ac.uk) Imagng Scences & Bomedcal Engneerng, Kng s College London, The Rayne Insttute, St Thomas Hosptal,

More information

CS 534: Computer Vision Model Fitting

CS 534: Computer Vision Model Fitting CS 534: Computer Vson Model Fttng Sprng 004 Ahmed Elgammal Dept of Computer Scence CS 534 Model Fttng - 1 Outlnes Model fttng s mportant Least-squares fttng Maxmum lkelhood estmaton MAP estmaton Robust

More information

Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics Thrteenth Eurographcs Workshop on Renderng (2002) P. Debevec and S. Gbson (Edtors) Fast, Arbtrary BRDF Shadng for Low-Frequency Lghtng Usng Sphercal Harmoncs Jan Kautz 1, Peter-Pke Sloan 2 and John Snyder

More information

Problem Set 3 Solutions

Problem Set 3 Solutions Introducton to Algorthms October 4, 2002 Massachusetts Insttute of Technology 6046J/18410J Professors Erk Demane and Shaf Goldwasser Handout 14 Problem Set 3 Solutons (Exercses were not to be turned n,

More information

The Greedy Method. Outline and Reading. Change Money Problem. Greedy Algorithms. Applications of the Greedy Strategy. The Greedy Method Technique

The Greedy Method. Outline and Reading. Change Money Problem. Greedy Algorithms. Applications of the Greedy Strategy. The Greedy Method Technique //00 :0 AM Outlne and Readng The Greedy Method The Greedy Method Technque (secton.) Fractonal Knapsack Problem (secton..) Task Schedulng (secton..) Mnmum Spannng Trees (secton.) Change Money Problem Greedy

More information

R s s f. m y s. SPH3UW Unit 7.3 Spherical Concave Mirrors Page 1 of 12. Notes

R s s f. m y s. SPH3UW Unit 7.3 Spherical Concave Mirrors Page 1 of 12. Notes SPH3UW Unt 7.3 Sphercal Concave Mrrors Page 1 of 1 Notes Physcs Tool box Concave Mrror If the reflectng surface takes place on the nner surface of the sphercal shape so that the centre of the mrror bulges

More information

Subspace clustering. Clustering. Fundamental to all clustering techniques is the choice of distance measure between data points;

Subspace clustering. Clustering. Fundamental to all clustering techniques is the choice of distance measure between data points; Subspace clusterng Clusterng Fundamental to all clusterng technques s the choce of dstance measure between data ponts; D q ( ) ( ) 2 x x = x x, j k = 1 k jk Squared Eucldean dstance Assumpton: All features

More information

Mathematics 256 a course in differential equations for engineering students

Mathematics 256 a course in differential equations for engineering students Mathematcs 56 a course n dfferental equatons for engneerng students Chapter 5. More effcent methods of numercal soluton Euler s method s qute neffcent. Because the error s essentally proportonal to the

More information

6.854 Advanced Algorithms Petar Maymounkov Problem Set 11 (November 23, 2005) With: Benjamin Rossman, Oren Weimann, and Pouya Kheradpour

6.854 Advanced Algorithms Petar Maymounkov Problem Set 11 (November 23, 2005) With: Benjamin Rossman, Oren Weimann, and Pouya Kheradpour 6.854 Advanced Algorthms Petar Maymounkov Problem Set 11 (November 23, 2005) Wth: Benjamn Rossman, Oren Wemann, and Pouya Kheradpour Problem 1. We reduce vertex cover to MAX-SAT wth weghts, such that the

More information

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision SLAM Summer School 2006 Practcal 2: SLAM usng Monocular Vson Javer Cvera, Unversty of Zaragoza Andrew J. Davson, Imperal College London J.M.M Montel, Unversty of Zaragoza. josemar@unzar.es, jcvera@unzar.es,

More information

CSCI 104 Sorting Algorithms. Mark Redekopp David Kempe

CSCI 104 Sorting Algorithms. Mark Redekopp David Kempe CSCI 104 Sortng Algorthms Mark Redekopp Davd Kempe Algorthm Effcency SORTING 2 Sortng If we have an unordered lst, sequental search becomes our only choce If we wll perform a lot of searches t may be benefcal

More information

Complex Numbers. Now we also saw that if a and b were both positive then ab = a b. For a second let s forget that restriction and do the following.

Complex Numbers. Now we also saw that if a and b were both positive then ab = a b. For a second let s forget that restriction and do the following. Complex Numbers The last topc n ths secton s not really related to most of what we ve done n ths chapter, although t s somewhat related to the radcals secton as we wll see. We also won t need the materal

More information

Lecture #15 Lecture Notes

Lecture #15 Lecture Notes Lecture #15 Lecture Notes The ocean water column s very much a 3-D spatal entt and we need to represent that structure n an economcal way to deal wth t n calculatons. We wll dscuss one way to do so, emprcal

More information

Performance Evaluation of Information Retrieval Systems

Performance Evaluation of Information Retrieval Systems Why System Evaluaton? Performance Evaluaton of Informaton Retreval Systems Many sldes n ths secton are adapted from Prof. Joydeep Ghosh (UT ECE) who n turn adapted them from Prof. Dk Lee (Unv. of Scence

More information

Programming in Fortran 90 : 2017/2018

Programming in Fortran 90 : 2017/2018 Programmng n Fortran 90 : 2017/2018 Programmng n Fortran 90 : 2017/2018 Exercse 1 : Evaluaton of functon dependng on nput Wrte a program who evaluate the functon f (x,y) for any two user specfed values

More information

Computer Animation and Visualisation. Lecture 4. Rigging / Skinning

Computer Animation and Visualisation. Lecture 4. Rigging / Skinning Computer Anmaton and Vsualsaton Lecture 4. Rggng / Sknnng Taku Komura Overvew Sknnng / Rggng Background knowledge Lnear Blendng How to decde weghts? Example-based Method Anatomcal models Sknnng Assume

More information

Determining the Optimal Bandwidth Based on Multi-criterion Fusion

Determining the Optimal Bandwidth Based on Multi-criterion Fusion Proceedngs of 01 4th Internatonal Conference on Machne Learnng and Computng IPCSIT vol. 5 (01) (01) IACSIT Press, Sngapore Determnng the Optmal Bandwdth Based on Mult-crteron Fuson Ha-L Lang 1+, Xan-Mn

More information

Kiran Joy, International Journal of Advanced Engineering Technology E-ISSN

Kiran Joy, International Journal of Advanced Engineering Technology E-ISSN Kran oy, nternatonal ournal of Advanced Engneerng Technology E-SS 0976-3945 nt Adv Engg Tech/Vol. V/ssue /Aprl-une,04/9-95 Research Paper DETERMATO O RADATVE VEW ACTOR WTOUT COSDERG TE SADOWG EECT Kran

More information

Hermite Splines in Lie Groups as Products of Geodesics

Hermite Splines in Lie Groups as Products of Geodesics Hermte Splnes n Le Groups as Products of Geodescs Ethan Eade Updated May 28, 2017 1 Introducton 1.1 Goal Ths document defnes a curve n the Le group G parametrzed by tme and by structural parameters n the

More information

Private Information Retrieval (PIR)

Private Information Retrieval (PIR) 2 Levente Buttyán Problem formulaton Alce wants to obtan nformaton from a database, but she does not want the database to learn whch nformaton she wanted e.g., Alce s an nvestor queryng a stock-market

More information

AMath 483/583 Lecture 21 May 13, Notes: Notes: Jacobi iteration. Notes: Jacobi with OpenMP coarse grain

AMath 483/583 Lecture 21 May 13, Notes: Notes: Jacobi iteration. Notes: Jacobi with OpenMP coarse grain AMath 483/583 Lecture 21 May 13, 2011 Today: OpenMP and MPI versons of Jacob teraton Gauss-Sedel and SOR teratve methods Next week: More MPI Debuggng and totalvew GPU computng Read: Class notes and references

More information

LECTURE : MANIFOLD LEARNING

LECTURE : MANIFOLD LEARNING LECTURE : MANIFOLD LEARNING Rta Osadchy Some sldes are due to L.Saul, V. C. Raykar, N. Verma Topcs PCA MDS IsoMap LLE EgenMaps Done! Dmensonalty Reducton Data representaton Inputs are real-valued vectors

More information

A Binarization Algorithm specialized on Document Images and Photos

A Binarization Algorithm specialized on Document Images and Photos A Bnarzaton Algorthm specalzed on Document mages and Photos Ergna Kavalleratou Dept. of nformaton and Communcaton Systems Engneerng Unversty of the Aegean kavalleratou@aegean.gr Abstract n ths paper, a

More information

Smoothing Spline ANOVA for variable screening

Smoothing Spline ANOVA for variable screening Smoothng Splne ANOVA for varable screenng a useful tool for metamodels tranng and mult-objectve optmzaton L. Rcco, E. Rgon, A. Turco Outlne RSM Introducton Possble couplng Test case MOO MOO wth Game Theory

More information

Physics 132 4/24/17. April 24, 2017 Physics 132 Prof. E. F. Redish. Outline

Physics 132 4/24/17. April 24, 2017 Physics 132 Prof. E. F. Redish. Outline Aprl 24, 2017 Physcs 132 Prof. E. F. Redsh Theme Musc: Justn Tmberlake Mrrors Cartoon: Gary Larson The Far Sde 1 Outlne Images produced by a curved mrror Image equatons for a curved mrror Lght n dense

More information

Harmonic Coordinates for Character Articulation PIXAR

Harmonic Coordinates for Character Articulation PIXAR Harmonc Coordnates for Character Artculaton PIXAR Pushkar Josh Mark Meyer Tony DeRose Bran Green Tom Sanock We have a complex source mesh nsde of a smpler cage mesh We want vertex deformatons appled to

More information

Image Representation & Visualization Basic Imaging Algorithms Shape Representation and Analysis. outline

Image Representation & Visualization Basic Imaging Algorithms Shape Representation and Analysis. outline mage Vsualzaton mage Vsualzaton mage Representaton & Vsualzaton Basc magng Algorthms Shape Representaton and Analyss outlne mage Representaton & Vsualzaton Basc magng Algorthms Shape Representaton and

More information

Hierarchical clustering for gene expression data analysis

Hierarchical clustering for gene expression data analysis Herarchcal clusterng for gene expresson data analyss Gorgo Valentn e-mal: valentn@ds.unm.t Clusterng of Mcroarray Data. Clusterng of gene expresson profles (rows) => dscovery of co-regulated and functonally

More information

Technical report, November 2012 (Revision 2, July 2013) Implementing Vertex Connection and Merging

Technical report, November 2012 (Revision 2, July 2013) Implementing Vertex Connection and Merging Techncal report, November 22 Revson 2, July 23) Implementng Vertex Connecton and Mergng Ilyan Georgev Saarland Unversty Intel VCI, Saarbrücken Stage : a) Trace lght sub-paths b) Connect lght vertces to

More information

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS ARPN Journal of Engneerng and Appled Scences 006-017 Asan Research Publshng Network (ARPN). All rghts reserved. NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS Igor Grgoryev, Svetlana

More information

Improvement of Spatial Resolution Using BlockMatching Based Motion Estimation and Frame. Integration

Improvement of Spatial Resolution Using BlockMatching Based Motion Estimation and Frame. Integration Improvement of Spatal Resoluton Usng BlockMatchng Based Moton Estmaton and Frame Integraton Danya Suga and Takayuk Hamamoto Graduate School of Engneerng, Tokyo Unversty of Scence, 6-3-1, Nuku, Katsuska-ku,

More information

Support Vector Machines

Support Vector Machines /9/207 MIST.6060 Busness Intellgence and Data Mnng What are Support Vector Machnes? Support Vector Machnes Support Vector Machnes (SVMs) are supervsed learnng technques that analyze data and recognze patterns.

More information

Sorting Review. Sorting. Comparison Sorting. CSE 680 Prof. Roger Crawfis. Assumptions

Sorting Review. Sorting. Comparison Sorting. CSE 680 Prof. Roger Crawfis. Assumptions Sortng Revew Introducton to Algorthms Qucksort CSE 680 Prof. Roger Crawfs Inserton Sort T(n) = Θ(n 2 ) In-place Merge Sort T(n) = Θ(n lg(n)) Not n-place Selecton Sort (from homework) T(n) = Θ(n 2 ) In-place

More information

Sequential search. Building Java Programs Chapter 13. Sequential search. Sequential search

Sequential search. Building Java Programs Chapter 13. Sequential search. Sequential search Sequental search Buldng Java Programs Chapter 13 Searchng and Sortng sequental search: Locates a target value n an array/lst by examnng each element from start to fnsh. How many elements wll t need to

More information

S.P.H. : A SOLUTION TO AVOID USING EROSION CRITERION?

S.P.H. : A SOLUTION TO AVOID USING EROSION CRITERION? S.P.H. : A SOLUTION TO AVOID USING EROSION CRITERION? Célne GALLET ENSICA 1 place Emle Bloun 31056 TOULOUSE CEDEX e-mal :cgallet@ensca.fr Jean Luc LACOME DYNALIS Immeuble AEROPOLE - Bat 1 5, Avenue Albert

More information

X- Chart Using ANOM Approach

X- Chart Using ANOM Approach ISSN 1684-8403 Journal of Statstcs Volume 17, 010, pp. 3-3 Abstract X- Chart Usng ANOM Approach Gullapall Chakravarth 1 and Chaluvad Venkateswara Rao Control lmts for ndvdual measurements (X) chart are

More information

REFRACTION. a. To study the refraction of light from plane surfaces. b. To determine the index of refraction for Acrylic and Water.

REFRACTION. a. To study the refraction of light from plane surfaces. b. To determine the index of refraction for Acrylic and Water. Purpose Theory REFRACTION a. To study the refracton of lght from plane surfaces. b. To determne the ndex of refracton for Acrylc and Water. When a ray of lght passes from one medum nto another one of dfferent

More information

Simulation: Solving Dynamic Models ABE 5646 Week 11 Chapter 2, Spring 2010

Simulation: Solving Dynamic Models ABE 5646 Week 11 Chapter 2, Spring 2010 Smulaton: Solvng Dynamc Models ABE 5646 Week Chapter 2, Sprng 200 Week Descrpton Readng Materal Mar 5- Mar 9 Evaluatng [Crop] Models Comparng a model wth data - Graphcal, errors - Measures of agreement

More information

Machine Learning. K-means Algorithm

Machine Learning. K-means Algorithm Macne Learnng CS 6375 --- Sprng 2015 Gaussan Mture Model GMM pectaton Mamzaton M Acknowledgement: some sldes adopted from Crstoper Bsop Vncent Ng. 1 K-means Algortm Specal case of M Goal: represent a data

More information

Lecture 5: Multilayer Perceptrons

Lecture 5: Multilayer Perceptrons Lecture 5: Multlayer Perceptrons Roger Grosse 1 Introducton So far, we ve only talked about lnear models: lnear regresson and lnear bnary classfers. We noted that there are functons that can t be represented

More information

AP PHYSICS B 2008 SCORING GUIDELINES

AP PHYSICS B 2008 SCORING GUIDELINES AP PHYSICS B 2008 SCORING GUIDELINES General Notes About 2008 AP Physcs Scorng Gudelnes 1. The solutons contan the most common method of solvng the free-response questons and the allocaton of ponts for

More information

Lecture 12: Photon Mapping. Biased Methods

Lecture 12: Photon Mapping. Biased Methods Lecture 12: Photon Mapping CS 6620, Spring 2009 Kavita Bala Computer Science Cornell University MC problems Biased Methods Biased methods: store information (caching) Better type of noise: blurring Greg

More information

Interactive Virtual Relighting of Real Scenes

Interactive Virtual Relighting of Real Scenes Frst submtted: October 1998 (#846). Edtor/revewers please consult accompanyng document wth detaled responses to revewer comments. Interactve Vrtual Relghtng of Real Scenes Célne Loscos, George Drettaks,

More information

Range images. Range image registration. Examples of sampling patterns. Range images and range surfaces

Range images. Range image registration. Examples of sampling patterns. Range images and range surfaces Range mages For many structured lght scanners, the range data forms a hghly regular pattern known as a range mage. he samplng pattern s determned by the specfc scanner. Range mage regstraton 1 Examples

More information

CS 563 Advanced Topics in Computer Graphics Irradiance Caching and Particle Tracing. by Stephen Kazmierczak

CS 563 Advanced Topics in Computer Graphics Irradiance Caching and Particle Tracing. by Stephen Kazmierczak CS 563 Advanced Topics in Computer Graphics Irradiance Caching and Particle Tracing by Stephen Kazmierczak Introduction Unbiased light transport algorithms can sometimes take a large number of rays to

More information

Realistic Rendering. Traditional Computer Graphics. Traditional Computer Graphics. Production Pipeline. Appearance in the Real World

Realistic Rendering. Traditional Computer Graphics. Traditional Computer Graphics. Production Pipeline. Appearance in the Real World Advanced Computer Graphcs (Fall 2009 CS 294, Renderng Lecture 11 Representatons of Vsual Appearance Rav Ramamoorth Realstc Renderng Geometry Renderng Algorthm http://nst.eecs.berkeley.edu/~cs294-13/fa09

More information

AVO Modeling of Monochromatic Spherical Waves: Comparison to Band-Limited Waves

AVO Modeling of Monochromatic Spherical Waves: Comparison to Band-Limited Waves AVO Modelng of Monochromatc Sphercal Waves: Comparson to Band-Lmted Waves Charles Ursenbach* Unversty of Calgary, Calgary, AB, Canada ursenbach@crewes.org and Arnm Haase Unversty of Calgary, Calgary, AB,

More information

Model-Based Bundle Adjustment to Face Modeling

Model-Based Bundle Adjustment to Face Modeling Model-Based Bundle Adjustment to Face Modelng Oscar K. Au Ivor W. sang Shrley Y. Wong oscarau@cs.ust.hk vor@cs.ust.hk shrleyw@cs.ust.hk he Hong Kong Unversty of Scence and echnology Realstc facal synthess

More information

Comparison of calculation methods and models in software for computer graphics and radiative heat exchange

Comparison of calculation methods and models in software for computer graphics and radiative heat exchange Comparson of calculaton methods and models n software for computer graphcs and radatve heat exchange Insttute of Electrcal and Electroncs Engneerng Poznan Unversty of Technology ul. Potrowo 3A, 60-950

More information

Radial Basis Functions

Radial Basis Functions Radal Bass Functons Mesh Reconstructon Input: pont cloud Output: water-tght manfold mesh Explct Connectvty estmaton Implct Sgned dstance functon estmaton Image from: Reconstructon and Representaton of

More information

Simulation Based Analysis of FAST TCP using OMNET++

Simulation Based Analysis of FAST TCP using OMNET++ Smulaton Based Analyss of FAST TCP usng OMNET++ Umar ul Hassan 04030038@lums.edu.pk Md Term Report CS678 Topcs n Internet Research Sprng, 2006 Introducton Internet traffc s doublng roughly every 3 months

More information

Machine Learning 9. week

Machine Learning 9. week Machne Learnng 9. week Mappng Concept Radal Bass Functons (RBF) RBF Networks 1 Mappng It s probably the best scenaro for the classfcaton of two dataset s to separate them lnearly. As you see n the below

More information

EECS 730 Introduction to Bioinformatics Sequence Alignment. Luke Huan Electrical Engineering and Computer Science

EECS 730 Introduction to Bioinformatics Sequence Alignment. Luke Huan Electrical Engineering and Computer Science EECS 730 Introducton to Bonformatcs Sequence Algnment Luke Huan Electrcal Engneerng and Computer Scence http://people.eecs.ku.edu/~huan/ HMM Π s a set of states Transton Probabltes a kl Pr( l 1 k Probablty

More information

MIT Monte-Carlo Ray Tracing. MIT EECS 6.837, Cutler and Durand 1

MIT Monte-Carlo Ray Tracing. MIT EECS 6.837, Cutler and Durand 1 MIT 6.837 Monte-Carlo Ray Tracing MIT EECS 6.837, Cutler and Durand 1 Schedule Review Session: Tuesday November 18 th, 7:30 pm bring lots of questions! Quiz 2: Thursday November 20 th, in class (one weeks

More information

Biased Monte Carlo Ray Tracing

Biased Monte Carlo Ray Tracing Biased Monte Carlo Ray Tracing Filtering, Irradiance Caching, and Photon Mapping Henrik Wann Jensen Stanford University May 23, 2002 Unbiased and Consistent Unbiased estimator: E{X} =... Consistent estimator:

More information

PBRT core. Digital Image Synthesis Yung-Yu Chuang. with slides by Pat Hanrahan

PBRT core. Digital Image Synthesis Yung-Yu Chuang. with slides by Pat Hanrahan PBRT core Digital Image Synthesis Yung-Yu Chuang with slides by Pat Hanrahan This course Study of how state-of-art ray tracers work Ray casting Rendering equation (Kajiya 1986) L i ( i p,ω ) ω i ω o L

More information

Machine Learning. Topic 6: Clustering

Machine Learning. Topic 6: Clustering Machne Learnng Topc 6: lusterng lusterng Groupng data nto (hopefully useful) sets. Thngs on the left Thngs on the rght Applcatons of lusterng Hypothess Generaton lusters mght suggest natural groups. Hypothess

More information

MOTION PANORAMA CONSTRUCTION FROM STREAMING VIDEO FOR POWER- CONSTRAINED MOBILE MULTIMEDIA ENVIRONMENTS XUNYU PAN

MOTION PANORAMA CONSTRUCTION FROM STREAMING VIDEO FOR POWER- CONSTRAINED MOBILE MULTIMEDIA ENVIRONMENTS XUNYU PAN MOTION PANORAMA CONSTRUCTION FROM STREAMING VIDEO FOR POWER- CONSTRAINED MOBILE MULTIMEDIA ENVIRONMENTS by XUNYU PAN (Under the Drecton of Suchendra M. Bhandarkar) ABSTRACT In modern tmes, more and more

More information

Part I The Basic Algorithm. Principles of Photon Mapping. A two-pass global illumination method Pass I Computing the photon map

Part I The Basic Algorithm. Principles of Photon Mapping. A two-pass global illumination method Pass I Computing the photon map Part I The Basic Algorithm 1 Principles of A two-pass global illumination method Pass I Computing the photon map A rough representation of the lighting in the scene Pass II rendering Regular (distributed)

More information

Path Tracing part 2. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017

Path Tracing part 2. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017 Path Tracing part 2 Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017 Monte Carlo Integration Monte Carlo Integration The rendering (& radiance) equation is an infinitely recursive integral

More information

A Fast Visual Tracking Algorithm Based on Circle Pixels Matching

A Fast Visual Tracking Algorithm Based on Circle Pixels Matching A Fast Vsual Trackng Algorthm Based on Crcle Pxels Matchng Zhqang Hou hou_zhq@sohu.com Chongzhao Han czhan@mal.xjtu.edu.cn Ln Zheng Abstract: A fast vsual trackng algorthm based on crcle pxels matchng

More information

Vanishing Hull. Jinhui Hu, Suya You, Ulrich Neumann University of Southern California {jinhuihu,suyay,

Vanishing Hull. Jinhui Hu, Suya You, Ulrich Neumann University of Southern California {jinhuihu,suyay, Vanshng Hull Jnhu Hu Suya You Ulrch Neumann Unversty of Southern Calforna {jnhuhusuyay uneumann}@graphcs.usc.edu Abstract Vanshng ponts are valuable n many vson tasks such as orentaton estmaton pose recovery

More information

Light Factorization for Mixed-Frequency Shadows in Augmented Reality

Light Factorization for Mixed-Frequency Shadows in Augmented Reality Lght Factorzaton for Mxed-Frequency Shadows n Augmented Realty Dere Nowrouzezahra 1 Stefan Geger 2 Kenny Mtchell 3 Robert Sumner 1 Wojcech Jarosz 1 Marus Gross 1,2 1 Dsney Research Zurch 2 ETH Zurch 3

More information

An efficient method to build panoramic image mosaics

An efficient method to build panoramic image mosaics An effcent method to buld panoramc mage mosacs Pattern Recognton Letters vol. 4 003 Dae-Hyun Km Yong-In Yoon Jong-Soo Cho School of Electrcal Engneerng and Computer Scence Kyungpook Natonal Unv. Abstract

More information

Real-Time Volumetric Shadows using 1D Min-Max Mipmaps

Real-Time Volumetric Shadows using 1D Min-Max Mipmaps Real-Tme Volumetrc Shadows usng 1D Mn-Max Mpmaps Jawen Chen 1 Ilya Baran 2 Frédo Durand 1 Wojcech Jarosz 2 1 MIT CSAIL 2 Dsney Research Zürch eye vew rays lght rectfed vew drecton lght rays rectfed lght

More information