Mathematica Notebook for the SIGGRAPH 2013 talk Background: Physics and Math of Shading
|
|
- Winfred Welch
- 6 years ago
- Views:
Transcription
1 Mathematica Notebook for the SIGGRAPH 03 talk Background: Physics and Math of Shading This notebook contains some computations referenced in the course notes. PlotRange 80, All<D; H*Based on the default Matlab color scheme, with some tweaks*l pcol = RGBColor@0, 0, D; H*blue*L bcol = RGBColor@0.8, 0.0,.8D; H*magenta*L tscol = RGBColor@0, 0.7, 0.7D; H*cyan*L trcol = RGBColor@, 0, 0D; H*red*L abccol = RGBColor@0, 0.7, 0D; H*green*L sgdcol = RGBColor@, 0.7, 0D; H*orange*L gtrcol = RGBColor@0., 0.3, 0.0D; H*brown*L Phong NDF This is the unnormalized Phong distribution function: In[]:= unnormalizedphong = Cos@ΘDΑp ; Compute the normalization factor (relative to projected area) for the Phong distribution function: In[]:= phongnormf = Integrate@unnormalizedphong Sin@ΘD Cos@ΘD, 8Φ, - Π, Π<, 8Θ, 0, Π <, Assumptions 8Αp > 0<D Π Out[]= + Αp unnormalizedphong In[]:= phong = phongnormf H + ΑpL Cos@ΘDΑp Out[]= Π Here are the distribution curves for some logarithmically spaced cosine powers (as well as 0, which corresponds to the uniform distribution):
2 s03_pbs_physics_math_notebook.nb In[3]:= Αp ð & 80,,,, 8<, 8Θ, 0, Π <, PlotStyle pcold, Αp ð & 8, 3,, 8<, 8Θ, 0, Π <, PlotStyle pcold, Αp ð & 8,,, 08<, 8Θ, 0, Π <, PlotStyle pcold<, ImageSize FullD Out[3]= And an interactive graph: In[]:= Manipulate@ Plot@phong. Αp H8000a - L, 8Θ, 0, Π <, PlotStyle pcold, 88a, 0.<, 0, <D a Out[]= Beckmann NDF This is the unnormalized Beckmann distribution function: In[]:= unnormalizedbeckmann = -K ã -Cos@ΘD Cos@ΘD Αb O ; Αb Cos@ΘD Compute the normalization factor (relative to projected area) for the Beckmann distribution function: In[]:= Out[]= beckmannnormf = Integrate@unnormalizedbeckmann Sin@ΘD Cos@ΘD, 8Φ, - Π, Π<, 8Θ, 0, Π <, Assumptions 8Αb > 0<D Π We see here that the correct normalization factor for the Beckmann distribution, given normalization Π over projected area, is.
3 s03_pbs_physics_math_notebook.nb 3 We see here that the correct normalization factor for the Beckmann distribution, given normalization Π over projected area, is. unnormalizedbeckmann In[7]:= beckmann = beckmannnormf I-Cos@ΘD M Sec@ΘD - ã Sec@ΘD Αb Out[7]= Π Αb The Beckmann Αb parameter is equal to the RMS (root mean square) microfacet slope. Therefore its valid range is from 0 (non-inclusive 0 corresponds to a perfect mirror or Dirac delta and causes divide by 0 errors in the Beckmann formulation) and up to arbitrarily high values. There is no special significance to a value of this just means that the RMS slope is / or. We will look at the shape of the Beckmann NDF for moderately rough surfaces (m from 0. to ): In[8]:= Plot@beckmann. Αb ð & Range@0.,, 0.D, 8Θ, 0, Π <, PlotStyle bcold.0 Out[8]= We see here that at Αb values above 0.7, a local minimum starts appearing at 0. This is significantly different than a Phong or Gaussian lobe, where the "roughest" possible surface is a uniform distribution. The Beckmann distribution is qualitatively different in that its parameter is not related to the variance of the angle but the mean of the slope. Thus a "very rough" surface in the Beckmann context is not a uniform or almost-uniform distribution, but a distribution clustered around high slopes. Let us look at even larger values of m:
4 s03_pbs_physics_math_notebook.nb In[9]:= Αb ð & 7D, 8Θ, 0, Π <, PlotStyle bcold 8 Out[9]= This behavior is unfortunate for environment map prefiltering, since the frequency content of the NDF decreases to a certain roughness and then starts increasing with m. Beckmann is supposed to be a good match to real-world measurements, but I am not sure over what range of parameters these comparisons were carried out, and whether values this high (or even higher than 0.7, where the local minima starts appearing) are observed in practice. Let us compare Beckmann and Phong, using an equivalence between the parameters of the two NDFs published in "Microfacet Models for Refraction through Rough Surfaces" (EGSR 007) note that the equivalence breaks down for Αb > : In[0]:= ΑbΑp@Αb_D := - Αb In[]:= GraphicsRow@8Plot@8beckmann. Αb ð & Range@0.,, 0.D, phong. Αp ΑbΑp@ðD & Range@0.,, 0.D<, 8Θ, 0, Π <, PlotStyle 8bCol, pcol<d, Plot@8beckmann. Αb ð & Range@0.,, 0.D, phong. Αp ΑbΑp@ðD & Range@0.,, 0.D<, 8Θ, 0, Π <, PlotStyle 8bCol, pcol<d<, ImageSize FullD Out[]= For rough surfaces (left plot), the equivalence holds about as well as can be expected, but the shape of the NDFs starts to differ significantly as m increases. For relatively smooth surfaces (right plot) the two NDFs match surprisingly well. This is to Phong s credit, who devised his NDF (although not as such) purely from observation. As the value of Αb decreases, the match improves.
5 s03_pbs_physics_math_notebook.nb Interactive graph for normal (not super-rough) values, comparing with Phong: In[]:= Αb a, phong. Αp 8Θ, 0, Π <, PlotStyle 8bCol, pcol<d, 88a, 0.<, 0.0, <D a Out[]= 3 Interactive graph for Beckmann by itself for super-rough values: In[3]:= Manipulate@Plot@beckmann. Αb a, 8Θ, 0, Π <, PlotStyle bcold, 8a,,.0<D a Out[3]= Torrance-Sparrow NDF This NDF is a Gaussian on the angle between the microfacet normal and the macroscopic surface normal. We will need to normalize it since Torrance and Sparrow did not supply a normalization factor:
6 s03_pbs_physics_math_notebook.nb This NDF is a Gaussian on the angle between the microfacet normal and the macroscopic surface normal. We will need to normalize it since Torrance and Sparrow did not supply a normalization factor: -J In[]:= unnormalizedtorrancesparrow = ã Θ Αts N ; We'll try for an analytical normalization factor: In[]:= normts = Integrate@unnormalizedtorrancesparrow Sin@ΘD Cos@ΘD, 8Φ, - Π, Π<, 8Θ, 0, Π <, Assumptions 8Αts > 0<D Out[]= ã-αts Π3 Αts - ä ErfB Π Π - ä ΑtsF + ä ErfB Αts + ä ΑtsF + Erfi@ΑtsD Αts Wow, that s ugly! It also appears to be complex-valued, which is odd since the function being integrated was real-valued. Let s see if it is really complex-valued: In[]:= Plot@Im@normtsD, 8Αts, 0.0, <, 8PlotRange 8-0.0, 0.0<, PlotStyle Thick<D Out[]= The imaginary part is 0 looks like the normalization factor actually is real-valued and Mathematica is just being weird. If we were actually going to use this, we would fit a cheap function to the curve instead of using the analytical expression. But since we are just comparing it to other NDFs, no need to do that. Let s compare it to Blinn-Phong, using the Beckmann parameter conversion (according to the CookTorrance paper, the Beckmann and Torrance-Sparrow parameterizations are the same both are equal to RMS slope): unnormalizedtorrancesparrow In[7]:= torrancesparrow = Re@normtsD - Out[7]= ã Θ Αts Π3 ReBã-Αts Αts - ä ErfB Π Π - ä ΑtsF + ä ErfB Αts + ä ΑtsF + Erfi@ΑtsD F Αts
7 s03_pbs_physics_math_notebook.nb In[8]:= Αts ð & 0.D, phong. Αp & 0.D<, 8Θ, 0, Π <, PlotStyle 8tsCol, pcol<d 8 Out[8]= The curves do look similar, but it appears that the equivalence between the parameterizations of the two distributions is a bit different than the one implied in the Cook-Torrance paper. We could work out the exact equivalence, but if the Torrance-Sparrow NDF turns out to have similar behavior to Phong over the whole range then it would be wasted effort since there would be no reason to use the (much more expensive) Torrance-Sparrow NDF. Let s adjust parameter values manually to make the peaks coincide: In[9]:= Plot@8torrancesparrow. Αts ð & 80.07, , 0., <, phong. Αp ΑbΑp@ðD & Range@0.,, 0.D<, 8Θ, 0, Π <, PlotStyle 88tsCol, Thick<, pcol<d 8 Out[9]= The curves appear to be extremely close. Let s look at a rougher part of the domain: 7
8 8 s03_pbs_physics_math_notebook.nb In[30]:= Αts ð & , 0.899,.9,.8<, torrancesparrow. Αts 0.0, phong. Αp & 0.D<, 8Θ, 0, Π <, PlotStyle 8tsCol, 8tsCol, Thick<, pcol<d Out[30]= All in all, the behavior appears to be very similar to Phong. The curves for rough surfaces are a bit higher at glancing angles, but the overall trend is towards a uniform distribution, like Phong (and unlike Beckmann). Given this similarity in behavior and the much higher computational complexity of the Torrance-Sparrow NDF (even higher than it appears as first, since it uses the angle directly rather than the cosine), there does not appear to be a reason to use it. Trowbridge-Reitz NDF The original paper by Trowbridge and Reitz, the 977 Blinn paper, and the 007 paper by Walter et al. (where they refer to it as the GGX distribution ) all have slightly different forms of this NDF. They are all equivalent other than constant factors; we will independently derive the normalization factor here: In[3]:= unnormalizedtrowbridgereitz = ; ICos@ΘD IΑtr - M + M In[3]:= trowbridgereitznormf = Integrate@unnormalizedtrowbridgereitz Sin@ΘD Cos@ΘD, 8Φ, - Π, Π<, 8Θ, 0, Π <, Assumptions 8Αtr > 0<D Π Out[3]= Αtr unnormalizedtrowbridgereitz In[33]:= trowbridgereitz = trowbridgereitznormf Αtr Out[33]= Π I + I- + Αtr M Cos@ΘD M We ll look at the distribution curves for moderate parameter values (on the left) as well as for high parameter values (on the right):
9 s03_pbs_physics_math_notebook.nb In[3]:= 9 GraphicsRow@8Plot@trowbridgereitz. Αtr ð & Range@0.,, 0.D, 8Θ, 0, Π <, PlotStyle trcold, Plot@trowbridgereitz. Αtr ð & Range@, 7D, 8Θ, 0, Π <, PlotStyle trcold<, ImageSize FullD.0 Out[3]= On the left, we see that the parameterization behaves approximately like Beckmann s: higher is rougher. Unlike Beckmann, a value of gives a uniform distribution (flat line). On the right, we see that the Trowbridge-Reitz distribution also supports super-rough distributions, like Beckmann. Let s compare Trowbridge-Reitz to Phong for the rough-to-moderate range (on the left) and for smoother surfaces (on the right). We use the Beckmann parameter equivalence, since behavior with respect to the parameterization appears similar: In[3]:= GraphicsRow@8Plot@8trowbridgereitz. Αtr ð & Range@0., 0.9, 0.D, trowbridgereitz. Αtr, phong. Αp ΑbΑp@ðD & Range@0.,, 0.D<, 8Θ, 0, Π <, PlotStyle 8trCol, 8trCol, Thick<, pcol<d, Plot@8trowbridgereitz. Αtr ð & Range@0., 0., 0.D, phong. Αp ΑbΑp@ðD & Range@0., 0., 0.D<, 8Θ, 0, Π <, PlotStyle 8trCol, pcol<d<, ImageSize FullD Out[3]= The distributions are somewhat similar, but the Trowbridge-Reitz distribution seems to have narrower peaks and longer tails across the entire range (except for the uniform distribution which is identical for both). Finally, here s an interactive plot comparing it to Phong:
10 s03_pbs_physics_math_notebook.nb In[3]:= Αtr a, phong. Αp 8Θ, 0, Π <, PlotStyle 8trCol, pcol<d, 88a, 0.<, 0.0, <D a Out[3]= 3 ABC NDF In[37]:= unnormalizedabc = ; H + Αabc H - Cos@ΘDLLΓabc In[38]:= Out[38]= abcnormf = Integrate@unnormalizedabc Sin@ΘD Cos@ΘD, 8Φ, - Π, Π<, 8Θ, 0, Π <, Assumptions 8Αabc > 0, Γabc > 0<D I Π H + ΑabcL-Γabc IH + ΑabcL + H + ΑabcLΓabc H- + Αabc H- + ΓabcLLMM IΑabc H- + ΓabcL H- + ΓabcLM This function has singularities at Γabc = and Γabc =.0. However, we can generate specific normalization terms for these values. These are the same as the limits of the more general function in the neighborhood of these values, indicating that the singularities are removable: In[39]:= abcnormfg = Integrate@Hunnormalizedabc. Γabc L Sin@ΘD Cos@ΘD, 8Φ, - Π, Π<, 8Θ, 0, Π <, Assumptions 8Αabc > 0<D Π H- Αabc + H + ΑabcL Log@ + ΑabcDL Out[39]= Αabc In[0]:= Limit@abcnormf, Γabc D Π H- Αabc + H + ΑabcL Log@ + ΑabcDL Out[0]= Αabc
11 s03_pbs_physics_math_notebook.nb In[]:= abcnormfg = Integrate@Hunnormalizedabc. Γabc L Sin@ΘD Cos@ΘD, 8Φ, - Π, Π<, 8Θ, 0, Π <, Assumptions 8Αabc > 0<D Π HΑabc - Log@ + ΑabcDL Out[]= Αabc In[]:= Limit@abcnormf, Γabc D Π HΑabc - Log@ + ΑabcDL Out[]= Αabc We ll create a piecewise form of the function covering the singularity cases, so that we can easily plot the normalized NDF over a range of parameter values: In[3]:= abcnormfpw = Piecewise@88abcnormfg, Γabc == <, 8abcnormfg, Γabc <<, abcnormfd Π H-Αabc+H+ΑabcL Log@+ΑabcDL Γabc Αabc Π HΑabc-Log@+ΑabcDL Γabc Αabc Out[3]= I Π H + ΑabcL-Γabc IH + ΑabcL + H + ΑabcLΓabc H- + Αabc H- + ΓabcLLMM True IΑabc H- + ΓabcL H- + ΓabcLM unnormalizedabc In[]:= abc = abcnormfpw Out[]= H + Αabc H - Cos@ΘDLL-Γabc Π H- Αabc + H + ΑabcL Log@ + ΑabcDL Γabc Αabc Π HΑabc-Log@+ΑabcDL Γabc Αabc -Γabc I Π H + ΑabcL Γabc IH + ΑabcL + H + ΑabcL H- + Αabc H- + ΓabcLLMM True IΑabc H- + ΓabcL H- + ΓabcLM This normalization term has an extremely complicated form - definitely too expensive for games; even for film use, it would be convenient to simplify it. Since when plotted it yields smooth curves, it should be possible to create a much simpler approximation for production use. Let us look at the behavior of the normalized ABC NDF as its parameters are varied. Since the parameter space is two-dimensional, we ll need more plots than in the previous sections:
12 s03_pbs_physics_math_notebook.nb In[]:= := 8Αabc ð, Γabc x< & 8,.0, 0.0, 00.0<, 8Θ, 0, Π <, PlotStyle abccold, "Γabc = " <> ToString@xDD plotabc@x_d := Labeled@Plot@abc. 8Αabc x, Γabc ð< & 80.,,, <, 8Θ, 0, Π <, PlotStyle abccold, "Αabc = " <> ToString@xDD GraphicsGrid@8plotabc 80.,,, <, plotabc 8,.0, 0.0, 00.0<<, ImageSize Full, AspectRatio 0.D Γabc = 0. Out[7]= Γabc = Αabc =. Γabc = Γabc = Αabc = Αabc =. Αabc = 0. And here s an interactive plot: In[8]:= Manipulate@Plot@abc. 8Αabc a, Γabc b<, 8Θ, 0, Π <, PlotStyle abccold, 8a,, 00.0<, 8b, 0.,.<D a b Out[8]= Experimenting with various values shows us that the value of Γabc appears to control the shape, while the value of Αabc controls the roughness. (They are not cleanly separated, so when varying Γabc you need to change Αabc to keep the same roughness.) Let s see if we can fit Trowbridge-Reitz using ABC:
13 s03_pbs_physics_math_notebook.nb In[9]:= 3 Manipulate@Plot@8trowbridgereitz. Αtr ktr, abc. 8Αabc kabc, Γabc kabc<<, 8Θ, 0, Π <, PlotStyle 8trCol, abccol<d, 88ktr, <, 0., 0.8<, 88kabc,.3<,,.0<, 88kabc,.7<, 0.,.<D ktr kabc kabc. Out[9]= We can see that an Γabc value of about.7 fits pretty well to Trowbridge-Reitz across the roughness range (less well for rough surfaces, better for smooth ones). Note that we don t have an equivalence between them, so we just manually adjust the Αabc parameter of the ABC curves until the peaks coincide with the Trowbridge-Reitz ones. Now let s try to fit Phong with ABC:
14 s03_pbs_physics_math_notebook.nb In[0]:= ManipulateA PlotA9phong. Αp klogphong, abc. 8Αabc kabc, Γabc kabcrecip<=, 8Θ, 0, Π <, PlotStyle 8pCol, abccol<e, 88klogphong, <, 0.0, <, 88kabc, 0.090<, 0.000,.0<, 88kabcrecip, 0.00<, 0.000, 0.999<E klogphong kabc kabcrecip Out[0]= 8 It seems that ABC asymptotically approaches Phong as the value of Γabc approaches infinity (here we also lacked an equivalence so we adjusted Αabc values manually until the peaks matched). Let s demonstrate ABC s fit to Trowbridge-Reitz with a static plot for Γabc =.7, and to Phong with a static plot for Γabc set to a high value (00):
15 s03_pbs_physics_math_notebook.nb In[]:= Αtr ð & 0.7, 0.D, abc. 8Αabc ð, Γabc.7< & 83.,.,.3, 3.,.0<<, 8Θ, 0, Π <, PlotStyle 8trCol, 8abcCol, Thick, 8<D<<D, Αp & 0.7, 0.D, abc. 8Αabc ð, Γabc 00.0< & 80.0, 0.0, 0.008, 0.003, 0.00<<, 8Θ, 0, Π <, PlotStyle 8pCol, 8abcCol, Thick, 8<D<<D<, ImageSize FullD Out[]= Since they are not directly apparent from the Plot command, let s see the range of Phong parameters covered in the right plot: In[]:= Out[]= In[3]:= Out[3]= ΑbΑp@0.3D 0. ΑbΑp@0.7D.083 As we have seen, with an Γabc value of.7, ABC can mimic Trowbridge-Reitz quite well. With higher values, ABC can approach the appearance of Phong. (It should be noted that these are much higher than any of the values fitted to the Matusik dataset by Low et al.; this may indicate that real-world materials do not typically exhibit Gaussian normal distributions.) With Γabc values lower than.7, the ABC distribution is even spikier than Trowbridge-Reitz; we will look at a value of (a relatively low value for the Matusik dataset fitting performed in the paper by Low et al. lower values were only used for very rough surfaces), comparing it to Trowbridge-Reitz (manually adjusted so the peaks match):
16 s03_pbs_physics_math_notebook.nb In[]:= Αtr ð & 0.8, 0.D, abc. 8Αabc ð, Γabc < & 88., 33.,.0,.7<<, 8Θ, 0, Π <, PlotStyle 8trCol, abccol<d, Αtr ð & 0.D, abc. 8Αabc ð, Γabc < & 80, 78, 0, 8.<<, 8Θ, 0, Π <, PlotStyle 8trCol, abccol<d<, ImageSize FullD Out[]= We see that with an Γabc value of, ABC is significantly spikier than Trowbridge-Reitz when modeling rough surfaces (on the left), and extremely so when modeling smooth ones (on the right). Shifted Gamma Distribution ΑsgdΓsgd- In[]:= - ã Αsgd +x Αsgd p@x_d := Gamma@ - Γsgd, ΑsgdD IΑsgd + xmγsgd pb In[]:= sgd = -Cos@ΘD Cos@ΘD F Π Cos@ΘD Αsgd +I-Cos@ΘD M Sec@ΘD - Out[]= ã Αsgd -Γsgd Αsgd-+Γsgd Sec@ΘD IΑsgd + I - Cos@ΘD M Sec@ΘD M HΠ Gamma@ - Γsgd, ΑsgdDL First, let s confirm that it s normalized, using an analytical integral: In[7]:= Out[7]= sgdnormf = Integrate@sgd Sin@ΘD Cos@ΘD, 8Φ, - Π, Π<, 8Θ, 0, Π <, Assumptions 8Αsgd > 0, Γsgd > 0<D Yes, it s normalized. Let s take a look at various parameter values, spanning the rough-to-moderate part of the range of values used for fitting SGD to the Matusik database:
17 s03_pbs_physics_math_notebook.nb In[8]:= 7 plotsgd@x_d := LabeledAPlot@sgd. 8Αsgd ð, Γsgd x< & 8,, 0., 0.<, 8Θ, 0, Π <, PlotStyle sgdcold, "Γsgd = " <> ToString@xDE plotsgd@x_d := LabeledAPlot@sgd. 8Αsgd x, Γsgd ð< & 80.0,,, <, 8Θ, 0, Π <, PlotStyle sgdcold, "Αsgd = " <> ToString@xDE GraphicsGrid@8plotsgd 80.0,,, <, plotsgd 8,, 0., 0.<<, ImageSize Full, AspectRatio 0.D Γsgd = 0. Out[0]= Γsgd = Γsgd = Αsgd = 0. 0 Γsgd = Αsgd =. Αsgd = Αsgd = 0. Let s look at an interactive graph with the parameters covering the range of fitted values for the Matusik database: In[]:= Manipulate@Plot@sgd. 8Αsgd a, Γsgd b<, 8Θ, 0, Π <, PlotStyle sgdcold, 88a, 0.<, 0.000, <, 8b, 0.0, <D a b. Out[]= Finally, let s compare it with ABC:
18 8 s03_pbs_physics_math_notebook.nb In[]:= 8Αsgd a, Γsgd b<, abc. 8Αabc c, Γabc d<<, 8Θ, 0, Π <, PlotStyle 8sgdCol, abccol<d, 88a, 0.<, 0.000, <, 88b, <, 0.0, <, 88c, 7.0<,, 00.0<, 88d,.7<, 0.,.<D a b c d Out[]=..0 We see that the SGD NDF goes quickly to 0.0 even for moderately smooth surfaces and cannot replicate the long tails that ABC can produce. We also see that unlike ABC, the SGD NDF can model slightly super-rough surfaces, though it s unclear how useful this feature is (also, the combination of parameters that produces this behavior is not found in the material fitting performed by Bagher et al.). Generalized Trowbridge-Reitz NDF In[3]:= unnormalizedgtr = ; Γgtr ICos@ΘD IΑgtr - M + M In[]:= gtrnormf = Integrate@unnormalizedgtr Sin@ΘD Cos@ΘD, 8Φ, - Π, Π<, 8Θ, 0, Π <, Assumptions 8Αgtr > 0, Γgtr > 0<D Π I- + Αgtr- Γgtr M Out[]= I- + Αgtr M H- + ΓgtrL This function has singularities at Γgtr = and Αgtr =. However, we can generate specific normalization terms for these values. These are the same as the limits of the more general function in the neighborhood of these values, indicating that the singularities are removable:
19 s03_pbs_physics_math_notebook.nb In[]:= 9 gtrnormfg = Integrate@Hunnormalizedgtr. Γgtr L Sin@ΘD Cos@ΘD, 8Φ, - Π, Π<, 8Θ, 0, Π <, Assumptions 8Αgtr > 0<D Π Log@ΑgtrD Out[]= - + Αgtr In[]:= Limit@gtrnormf, Γgtr D Π Log@ΑgtrD Out[]= - + Αgtr In[7]:= Out[7]= In[8]:= Out[8]= gtrnormfa = Integrate@Hunnormalizedgtr. Αgtr L Sin@ΘD Cos@ΘD, 8Φ, - Π, Π<, 8Θ, 0, Π <, Assumptions 8Γgtr > 0<D Π Limit@gtrnormf, Αgtr D Π We ll create a piecewise form of the function covering the singularity cases, so that we can easily plot the normalized NDF over a range of parameter values: In[9]:= gtrnormfpw = Piecewise@88gtrnormfa, Αgtr == <, 8gtrnormfg, Γgtr == <<, gtrnormfd Αgtr Π Π Log@ΑgtrD -+Αgtr Out[9]= Π I-+Αgtr- Γgtr M - I-+Αgtr M H-+ΓgtrL Γgtr True unnormalizedgtr In[70]:= gtr = gtrnormfpw -Γgtr I + I- + Αgtr M Cos@ΘD M Out[70]= Αgtr Π Π Log@ΑgtrD -+Αgtr Π I-+Αgtr- Γgtr M - I-+Αgtr M H-+ΓgtrL Γgtr True This normalization term has a somewhat complicated form, which is likely too expensive for performance-critical applications such as games. However, when plotted it yields smooth curves, indicating that it should be possible to create a simpler approximation for game use. Let us look at the behavior of the normalized GTR NDF as its parameters are varied.
20 0 s03_pbs_physics_math_notebook.nb In[7]:= := 8Αgtr ð, Γgtr x< & 8,, 0., 0.<, 8Θ, 0, Π <, PlotStyle gtrcold, "Γgtr = " <> ToString@xDE plotgtr@x_d := LabeledAPlot@gtr. 8Αgtr x, Γgtr ð< & 8,,.0,.<, 8Θ, 0, Π <, PlotStyle gtrcold, "Αgtr = " <> ToString@xDE GraphicsGrid@8plotgtr 8,,.0,.<, plotgtr 8,, 0., 0.<<, ImageSize Full, AspectRatio 0.D 7 3 Γgtr = Γgtr =. Out[73]= Γgtr =. 7 3 Αgtr =. 0 Αgtr = Γgtr =. Αgtr = Αgtr = 0. As a generalized form of Trowbridge-Reitz, GTR inherits some of its properties. When the Αgtr parameter is equal to, we get the uniform (constant) distribution. Decreasing Αgtr makes the surface smoother (creating narrower and more intense highlights. Increasing Αgtr beyond will create superrough surfaces (this behavior is very similar to Trowbridge-Reitz, so we won t bother plotting it). As with ABC, the separation of roughness and shape is not perfect, so when varying Γgtr you need to change Αgtr to keep the same roughness.) And here s an interactive plot:
21 s03_pbs_physics_math_notebook.nb In[7]:= 8Αgtr a, Γgtr b<, 8Θ, 0, Π <, PlotStyle gtrcold, 8a, 0.0, <, 8b,,.<D a b Out[7]= Let s see if we can fit Phong using GTR:
22 s03_pbs_physics_math_notebook.nb In[7]:= ManipulateA PlotA9phong. Αp klogphong, gtr. 8Αgtr kgtr, Γgtr kgtrrecip<=, 8Θ, 0, Π <, PlotStyle 8pCol, gtrcol<e, 88klogphong, <, 0.0, <, 88kgtr, <, 0.0, <, 88kgtrrecip, 0.00<, 0.000, 0.999<E klogphong kgtr kgtrrecip Out[7]= 8 Similarly to ABC, it appears that GTR asymptotically approaches Phong as the value of Γgtr approaches infinity (and also as with ABC, we don t have a known parameter equivalence so we adjusted Αgtr values manually until the peaks matched). Let s demonstrate the match with a very high Γgtr value (000) on a pair of static plots (one covering smoother surfaces and one covering rougher ones):
23 s03_pbs_physics_math_notebook.nb In[7]:= 3 GraphicsRow@8Plot@8phong. Αp ð & 88,,, <, gtr. 8Αgtr ð, Γgtr 000< & , , , <<, 8Θ, 0, Π <, PlotStyle 8pCol, gtrcol<d, Plot@8phong. Αp ð & 80, 0,, 8<, gtr. 8Αgtr ð, Γgtr 000< & , , , <<, 8Θ, 0, Π <, PlotStyle 8pCol, 8gtrCol, Thick, AbsoluteDashing@8, 8<D<<D<, ImageSize FullD Out[7]= Of course, GTR can match Trowbridge-Reitz exactly since setting Γgtr to.0 makes the two exactly equivalent. Let s see if GTR can match the even spikier curves we get with ABC by setting Γabc to : In[77]:= Manipulate@Plot@8abc. 8Αabc kabc, Γabc <, gtr. 8Αgtr kgtr, Γgtr kgtr<<, 8Θ, 0, Π <, PlotStyle 8abcCol, gtrcol<d, 88kabc,.0<,.0, 000.0<, 88kgtr, 0.<, 0.0, <, 88kgtr,.0<,,.<D kabc kgtr kgtr 30 Out[77]= 0 We can see that an Γgtr value of about fits pretty well to ABC with Γabc= across the roughness range (better for smoother surfaces, slightly less well for rough ones). Note that we don t have a known equivalence between them, so we just manually adjust the Αgtr parameter of the GTR curves until the peaks coincide with the ABC ones. Let s show the match with two static plots (one covering smoother surfaces and one covering rougher ones):
24 s03_pbs_physics_math_notebook.nb We can see that an Γgtr value of about fits pretty well to ABC with Γabc= across the roughness range (better for smoother surfaces, slightly less well for rough ones). Note that we don t have a known equivalence between them, so we just manually adjust the Αgtr parameter of the GTR curves until the peaks coincide with the ABC ones. Let s show the match with two static plots (one covering smoother surfaces and one covering rougher ones): In[78]:= GraphicsRow@8Plot@8abc. 8Αabc ð, Γabc < & 80, 30,, <, gtr. 8Αgtr ð, Γgtr < & 80., 0., 0.338, 7<<, 8Θ, 0, Π <, PlotStyle 8abcCol, 8gtrCol, Thick, AbsoluteDashing@8, 8<D<<D, Plot@8abc. 8Αabc ð, Γabc < & 8000, 70, 0, 0<, gtr. 8Αgtr ð, Γgtr < & 80.0, 0.07, 0.09, 0.<<, 8Θ, 0, Π <, PlotStyle 8abcCol, 8gtrCol, Thick, AbsoluteDashing@8, 8<D<<D<, ImageSize FullD Out[78]=
Mathematica Notebook for Background: Physics and Math of Shading
Mathematica Notebook for Background: Physics and Math of Shading In[1]:= This notebook contains some computations referenced in the course notes. Off NIntegrate::inumr SetOptions Plot, PlotRange All ;
More informationBackground: Physics and Math of Shading
Background: Physics and Math of Shading Naty Hoffman 2K Hi. Over the next 25 minutes or so I ll be going from the physics underlying shading, to the math used to describe it in the kind of shading models
More informationMahdi M. Bagher / Cyril Soler / Nicolas Holzschuch Maverick, INRIA Grenoble-Rhône-Alpes and LJK (University of Grenoble and CNRS)
Mahdi M. Bagher / Cyril Soler / Nicolas Holzschuch Maverick, INRIA Grenoble-Rhône-Alpes and LJK (University of Grenoble and CNRS) Wide variety of materials characterized by surface reflectance and scattering
More informationExperimental Validation of Analytical BRDF Models
Experimental Validation of Analytical BRDF Models Addy Ngan, Frédo Durand, Wojciech Matusik Massachusetts Institute of Technology Goal Evaluate and analyze the performance of analytical reflectance models
More informationIllumination. Illumination CMSC 435/634
Illumination CMSC 435/634 Illumination Interpolation Illumination Illumination Interpolation Illumination Illumination Effect of light on objects Mostly look just at intensity Apply to each color channel
More informationComputer Graphics (CS 543) Lecture 8 (Part 1): Physically-Based Lighting Models
Computer Graphics (CS 543) Lecture 8 (Part 1): Physically-Based Lighting Models Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) BRDF Evolution BRDFs have evolved historically
More informationError Reduction and Simplification for Shading Anti-Aliasing
Error Reduction and Simplification for Shading Anti-Aliasing Yusuke Tokuyoshi Square Enix Co., Ltd. 1 Introduction The shading anti-aliasing technique [Kaplanyan et al. 016] is a simple solution for specular
More informationComplex Shading Algorithms
Complex Shading Algorithms CPSC 414 Overview So far Rendering Pipeline including recent developments Today Shading algorithms based on the Rendering Pipeline Arbitrary reflection models (BRDFs) Bump mapping
More informationThe Ellipsoid Normal Distribution Function
The Ellipsoid Normal Distribution Function Bruce Walter, Zhao Dong, Steve Marschner and Donald P. Greenberg November 2014 (last revised August 2015) Supplemental material for ACM TOG paper: Predicting
More information10.4 Linear interpolation method Newton s method
10.4 Linear interpolation method The next best thing one can do is the linear interpolation method, also known as the double false position method. This method works similarly to the bisection method by
More informationHere I ll present a brief summary of the important aspects and then dive into improvements we made on Black Ops II.
We started pursuing Physically Based Shading during Black Ops, details of which I presented at SIGGRAPH 2011, as part of the Advances in Real-Time Rendering course. Here I ll present a brief summary of
More informationTimothy Walsh. Reflection Models
Timothy Walsh Reflection Models Outline Reflection Models Geometric Setting Fresnel Reflectance Specular Refletance & Transmission Microfacet Models Lafortune Model Fresnel Incidence Effects Diffuse Scatter
More informationCSE 681 Illumination and Phong Shading
CSE 681 Illumination and Phong Shading Physics tells us What is Light? We don t see objects, we see light reflected off of objects Light is a particle and a wave The frequency of light What is Color? Our
More informationReflectance Models (BRDF)
Reflectance Models (BRDF) 1996-2017 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ BRDF 2017 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 62 Light travels through
More informationRecent Advances in Physically Based Shading
Recent Advances in Physically Based Shading Naty Hoffman Lucasfilm Hi. As Steve mentioned, my intro is a bit different this year - covering recent work in the field instead of physics & math fundamentals.
More informationLecture 4: Reflection Models
Lecture 4: Reflection Models CS 660, Spring 009 Kavita Bala Computer Science Cornell University Outline Light sources Light source characteristics Types of sources Light reflection Physics-based models
More informationRepresentations of Curves and Surfaces, and of their Tangent Lines, and Tangent Planes in R 2 and R 3 Robert L.Foote, Fall 2007
CurvesAndSurfaces.nb Representations of Curves and Surfaces, and of their Tangent Lines, and Tangent Planes in R and R 3 Robert L.Foote, Fall 007 Curves and Surfaces Graphs ü The graph of f : Æ is a curve
More informationShading & Material Appearance
Shading & Material Appearance ACM. All rights reserved. This content is excluded from our Creative Commons license. For more information, see http://ocw.mit.edu/help/faq-fair-use/. MIT EECS 6.837 Matusik
More informationShading, lighting, & BRDF Theory. Cliff Lindsay, PHD
Shading, lighting, & BRDF Theory Cliff Lindsay, PHD Overview of today s lecture BRDF Characteristics Lights in terms of BRDFs Classes of BRDFs Ambient light & Shadows in terms of BRDFs Decomposing Reflection
More informationCS 5625 Lec 2: Shading Models
CS 5625 Lec 2: Shading Models Kavita Bala Spring 2013 Shading Models Chapter 7 Next few weeks Textures Graphics Pipeline Light Emission To compute images What are the light sources? Light Propagation Fog/Clear?
More informationSurface Reflection Models
Surface Reflection Models Frank Losasso (flosasso@nvidia.com) Introduction One of the fundamental topics in lighting is how the light interacts with the environment. The academic community has researched
More informationChannels & Keyframes. CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2017
Channels & Keyframes CSE69: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 27 Animation Rigging and Animation Animation System Pose Φ... 2 N Rigging System Triangles Renderer Animation When
More information1.6 Rough Surface Scattering Applications Computer Graphic Shading and Rendering
20 Durgin ECE 3065 Notes Rough Surface Scattering Chapter 1 1.6 Rough Surface Scattering Applications 1.6.1 Computer Graphic Shading and Rendering At optical frequencies, nearly every object in our everyday
More informationCSE 167: Lecture #7: Color and Shading. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011
CSE 167: Introduction to Computer Graphics Lecture #7: Color and Shading Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Homework project #3 due this Friday,
More informationw Foley, Section16.1 Reading
Shading w Foley, Section16.1 Reading Introduction So far, we ve talked exclusively about geometry. w What is the shape of an object? w How do I place it in a virtual 3D space? w How do I know which pixels
More informationThe Problem of Calculating Vertex Normals for Unevenly Subdivided Smooth Surfaces
The Problem of Calculating Vertex Normals for Unevenly Subdivided Smooth Surfaces Ted Schundler tschundler (a) gmail _ com Abstract: Simply averaging normals of the faces sharing a vertex does not produce
More informationSimple Lighting/Illumination Models
Simple Lighting/Illumination Models Scene rendered using direct lighting only Photograph Scene rendered using a physically-based global illumination model with manual tuning of colors (Frederic Drago and
More informationRendering Light Reflection Models
Rendering Light Reflection Models Visual Imaging in the Electronic Age Donald P. Greenberg October 3, 2017 Lecture #13 Program of Computer Graphics, Cornell University General Electric - 167 Cornell in
More informationLocal Reflection Models
Local Reflection Models Illumination Thus Far Simple Illumination Models Ambient + Diffuse + Attenuation + Specular Additions Texture, Shadows, Used in global algs! (Ray tracing) Problem: Different materials
More informationComputer Vision Systems. Viewing Systems Projections Illuminations Rendering Culling and Clipping Implementations
Computer Vision Systems Viewing Systems Projections Illuminations Rendering Culling and Clipping Implementations Viewing Systems Viewing Transformation Projective Transformation 2D Computer Graphics Devices
More informationIllumination in Computer Graphics
Illumination in Computer Graphics Ann McNamara Illumination in Computer Graphics Definition of light sources. Analysis of interaction between light and objects in a scene. Rendering images that are faithful
More informationMaterials & Shadows. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Winter 2017
Materials & Shadows Steve Rotenberg CSE168: Rendering Algorithms UCSD, Winter 2017 Diffuse Surfaces In an earlier lecture, we discussed diffuse surfaces We looked at the idealized Lambertian diffuse case
More informationMar. 20 Math 2335 sec 001 Spring 2014
Mar. 20 Math 2335 sec 001 Spring 2014 Chebyshev Polynomials Definition: For an integer n 0 define the function ( ) T n (x) = cos n cos 1 (x), 1 x 1. It can be shown that T n is a polynomial of degree n.
More informationYou can drag the graphs using your mouse to rotate the surface.
The following are some notes for relative maxima and mimima using surfaces plotted in Mathematica. The way to run the code is: Select Menu bar -- Evaluation -- Evaluate Notebook You can drag the graphs
More informationToday. Global illumination. Shading. Interactive applications. Rendering pipeline. Computergrafik. Shading Introduction Local shading models
Computergrafik Matthias Zwicker Universität Bern Herbst 2009 Today Introduction Local shading models Light sources strategies Compute interaction of light with surfaces Requires simulation of physics Global
More informationBasics of Computational Geometry
Basics of Computational Geometry Nadeem Mohsin October 12, 2013 1 Contents This handout covers the basic concepts of computational geometry. Rather than exhaustively covering all the algorithms, it deals
More informationR. James Purser and Xiujuan Su. IMSG at NOAA/NCEP/EMC, College Park, MD, USA.
A new observation error probability model for Nonlinear Variational Quality Control and applications within the NCEP Gridpoint Statistical Interpolation. R. James Purser and Xiujuan Su IMSG at NOAA/NCEP/EMC,
More informationLights, Surfaces, and Cameras. Light sources emit photons Surfaces reflect & absorb photons Cameras measure photons
Reflectance 1 Lights, Surfaces, and Cameras Light sources emit photons Surfaces reflect & absorb photons Cameras measure photons 2 Light at Surfaces Many effects when light strikes a surface -- could be:
More informationAPPM 2460 PLOTTING IN MATLAB
APPM 2460 PLOTTING IN MATLAB. Introduction Matlab is great at crunching numbers, and one of the fundamental ways that we understand the output of this number-crunching is through visualization, or plots.
More informationThe Ellipsoid Normal Distribution Function
The Ellipsoid Normal Distribution Function Bruce Walter, Zhao Dong, Steve Marschner and Donald P. Greenberg Supplemental material for ACM TOG paper: Predicting Surface Appearance from Measured Microgeometry
More informationCS6670: Computer Vision
CS6670: Computer Vision Noah Snavely Lecture 21: Light, reflectance and photometric stereo Announcements Final projects Midterm reports due November 24 (next Tuesday) by 11:59pm (upload to CMS) State the
More informationFunctions and Graphs. The METRIC Project, Imperial College. Imperial College of Science Technology and Medicine, 1996.
Functions and Graphs The METRIC Project, Imperial College. Imperial College of Science Technology and Medicine, 1996. Launch Mathematica. Type
More informationShading. Brian Curless CSE 557 Autumn 2017
Shading Brian Curless CSE 557 Autumn 2017 1 Reading Optional: Angel and Shreiner: chapter 5. Marschner and Shirley: chapter 10, chapter 17. Further reading: OpenGL red book, chapter 5. 2 Basic 3D graphics
More informationPolar Coordinates. OpenStax. 1 Dening Polar Coordinates
OpenStax-CNX module: m53852 1 Polar Coordinates OpenStax This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License 4.0 Abstract Locate points
More informationPolar Coordinates. 2, π and ( )
Polar Coordinates Up to this point we ve dealt exclusively with the Cartesian (or Rectangular, or x-y) coordinate system. However, as we will see, this is not always the easiest coordinate system to work
More informationDigital Image Processing. Prof. P. K. Biswas. Department of Electronic & Electrical Communication Engineering
Digital Image Processing Prof. P. K. Biswas Department of Electronic & Electrical Communication Engineering Indian Institute of Technology, Kharagpur Lecture - 21 Image Enhancement Frequency Domain Processing
More informationShading. Why we need shading. Scattering. Shading. Objectives
Shading Why we need shading Objectives Learn to shade objects so their images appear three-dimensional Suppose we build a model of a sphere using many polygons and color it with glcolor. We get something
More informationHere are some of the more basic curves that we ll need to know how to do as well as limits on the parameter if they are required.
1 of 10 23/07/2016 05:15 Paul's Online Math Notes Calculus III (Notes) / Line Integrals / Line Integrals - Part I Problems] [Notes] [Practice Problems] [Assignment Calculus III - Notes Line Integrals Part
More informationAssignment 1. Prolog to Problem 1. Two cylinders. ü Visualization. Problems by Branko Curgus
Assignment In[]:= Problems by Branko Curgus SetOptions $FrontEndSession, Magnification Prolog to Problem. Two cylinders In[]:= This is a tribute to a problem that I was assigned as an undergraduate student
More informationShading / Light. Thanks to Srinivas Narasimhan, Langer-Zucker, Henrik Wann Jensen, Ravi Ramamoorthi, Hanrahan, Preetham
Shading / Light Thanks to Srinivas Narasimhan, Langer-Zucker, Henrik Wann Jensen, Ravi Ramamoorthi, Hanrahan, Preetham Phong Illumination Model See Shirley, Ch 10 and http://en.wikipedia.org/wiki/phong_shading
More informationGame Technology. Lecture Physically Based Rendering. Dipl-Inform. Robert Konrad Polona Caserman, M.Sc.
Game Technology Lecture 7 4.12.2017 Physically Based Rendering Dipl-Inform. Robert Konrad Polona Caserman, M.Sc. Prof. Dr.-Ing. Ralf Steinmetz KOM - Multimedia Communications Lab PPT-for-all v.3.4_office2010
More informationComp 410/510 Computer Graphics. Spring Shading
Comp 410/510 Computer Graphics Spring 2017 Shading Why we need shading Suppose we build a model of a sphere using many polygons and then color it using a fixed color. We get something like But we rather
More informationEdge and local feature detection - 2. Importance of edge detection in computer vision
Edge and local feature detection Gradient based edge detection Edge detection by function fitting Second derivative edge detectors Edge linking and the construction of the chain graph Edge and local feature
More informationCS130 : Computer Graphics Lecture 8: Lighting and Shading. Tamar Shinar Computer Science & Engineering UC Riverside
CS130 : Computer Graphics Lecture 8: Lighting and Shading Tamar Shinar Computer Science & Engineering UC Riverside Why we need shading Suppose we build a model of a sphere using many polygons and color
More informationHOUGH TRANSFORM CS 6350 C V
HOUGH TRANSFORM CS 6350 C V HOUGH TRANSFORM The problem: Given a set of points in 2-D, find if a sub-set of these points, fall on a LINE. Hough Transform One powerful global method for detecting edges
More informationOverview. Radiometry and Photometry. Foundations of Computer Graphics (Spring 2012)
Foundations of Computer Graphics (Spring 2012) CS 184, Lecture 21: Radiometry http://inst.eecs.berkeley.edu/~cs184 Overview Lighting and shading key in computer graphics HW 2 etc. ad-hoc shading models,
More informationChapter 1. Numeric Artifacts. 1.1 Introduction
Chapter 1 Numeric Artifacts 1.1 Introduction Virtually all solutions to problems in electromagnetics require the use of a computer. Even when an analytic or closed form solution is available which is nominally
More informationLab 9 - Metal and Glass
Lab 9 - Metal and Glass Let the form of an object be what it may, light, shade, and perspective will always make it beautiful. -John Constable Prologue Support code: /course/cs1230/src/labs/lab09 This
More informationDiffraction Efficiency
Diffraction Efficiency Turan Erdogan Gratings are based on diffraction and interference: Diffraction gratings can be understood using the optical principles of diffraction and interference. When light
More informationContrast Optimization: A faster and better technique for optimizing on MTF ABSTRACT Keywords: INTRODUCTION THEORY
Contrast Optimization: A faster and better technique for optimizing on MTF Ken Moore, Erin Elliott, Mark Nicholson, Chris Normanshire, Shawn Gay, Jade Aiona Zemax, LLC ABSTRACT Our new Contrast Optimization
More informationRendering and Radiosity. Introduction to Design Media Lecture 4 John Lee
Rendering and Radiosity Introduction to Design Media Lecture 4 John Lee Overview Rendering is the process that creates an image from a model How is it done? How has it been developed? What are the issues
More information3D Rotations and Complex Representations. Computer Graphics CMU /15-662, Fall 2017
3D Rotations and Complex Representations Computer Graphics CMU 15-462/15-662, Fall 2017 Rotations in 3D What is a rotation, intuitively? How do you know a rotation when you see it? - length/distance is
More informationLimits. f(x) and lim. g(x) g(x)
Limits Limit Laws Suppose c is constant, n is a positive integer, and f() and g() both eist. Then,. [f() + g()] = f() + g() 2. [f() g()] = f() g() [ ] 3. [c f()] = c f() [ ] [ ] 4. [f() g()] = f() g()
More informationAnnouncement. Lighting and Photometric Stereo. Computer Vision I. Surface Reflectance Models. Lambertian (Diffuse) Surface.
Lighting and Photometric Stereo CSE252A Lecture 7 Announcement Read Chapter 2 of Forsyth & Ponce Might find section 12.1.3 of Forsyth & Ponce useful. HW Problem Emitted radiance in direction f r for incident
More informationPhysically-Based Reflectance for Games
Physically-Based Reflectance for Games 8:40-9:15: Reflectance Naty Hoffman 15 Reflectance Types of Reflectance Reflectance Theory Reflection Model Foundations In this section, we will first discuss various
More information3 Nonlinear Regression
CSC 4 / CSC D / CSC C 3 Sometimes linear models are not sufficient to capture the real-world phenomena, and thus nonlinear models are necessary. In regression, all such models will have the same basic
More informationFour equations are necessary to evaluate these coefficients. Eqn
1.2 Splines 11 A spline function is a piecewise defined function with certain smoothness conditions [Cheney]. A wide variety of functions is potentially possible; polynomial functions are almost exclusively
More information1. How Mathematica works
Departments of Civil Engineering and Mathematics CE 109: Computing for Engineering Mathematica Session 1: Introduction to the system Mathematica is a piece of software described by its manufacturers as
More informationS U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T
S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T Copyright 2018 Sung-eui Yoon, KAIST freely available on the internet http://sglab.kaist.ac.kr/~sungeui/render
More informationEstimating Scene Properties from Color Histograms
Estimating Scene Properties from Color Histograms Carol L. Novak Steven A. Shafer November 1992 CMU-CS-92-212 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 This research was
More informationChapter 2 Basic Structure of High-Dimensional Spaces
Chapter 2 Basic Structure of High-Dimensional Spaces Data is naturally represented geometrically by associating each record with a point in the space spanned by the attributes. This idea, although simple,
More informationIntroduction. Lighting model Light reflection model Local illumination model Reflectance model BRDF
Shading Introduction Affine transformations help us to place objects into a scene. Before creating images of these objects, we ll look at models for how light interacts with their surfaces. Such a model
More informationCalculus I Review Handout 1.3 Introduction to Calculus - Limits. by Kevin M. Chevalier
Calculus I Review Handout 1.3 Introduction to Calculus - Limits by Kevin M. Chevalier We are now going to dive into Calculus I as we take a look at the it process. While precalculus covered more static
More informationObjectives. Introduce Phong model Introduce modified Phong model Consider computation of required vectors Discuss polygonal shading.
Shading II 1 Objectives Introduce Phong model Introduce modified Phong model Consider computation of required vectors Discuss polygonal shading Flat Smooth Gouraud 2 Phong Lighting Model A simple model
More informationSpectroscopic Analysis: Peak Detector
Electronics and Instrumentation Laboratory Sacramento State Physics Department Spectroscopic Analysis: Peak Detector Purpose: The purpose of this experiment is a common sort of experiment in spectroscopy.
More informationComputer Graphics. Illumination and Shading
() Illumination and Shading Dr. Ayman Eldeib Lighting So given a 3-D triangle and a 3-D viewpoint, we can set the right pixels But what color should those pixels be? If we re attempting to create a realistic
More informationAn Intuitive Explanation of Fourier Theory
An Intuitive Explanation of Fourier Theory Steven Lehar slehar@cns.bu.edu Fourier theory is pretty complicated mathematically. But there are some beautifully simple holistic concepts behind Fourier theory
More informationCoupling of surface roughness to the performance of computer-generated holograms
Coupling of surface roughness to the performance of computer-generated holograms Ping Zhou* and Jim Burge College of Optical Sciences, University of Arizona, Tucson, Arizona 85721, USA *Corresponding author:
More informationEffective Medium Theory, Rough Surfaces, and Moth s Eyes
Effective Medium Theory, Rough Surfaces, and Moth s Eyes R. Steven Turley, David Allred, Anthony Willey, Joseph Muhlestein, and Zephne Larsen Brigham Young University, Provo, Utah Abstract Optics in the
More informationHW 10 STAT 672, Summer 2018
HW 10 STAT 672, Summer 2018 1) (0 points) Do parts (a), (b), (c), and (e) of Exercise 2 on p. 298 of ISL. 2) (0 points) Do Exercise 3 on p. 298 of ISL. 3) For this problem, try to use the 64 bit version
More informationExamples of Fourier series
Examples of Fourier series Preliminaries In[]:= Below is the definition of a periodic extension of a function defined on L, L. This definition takes a function as a variable. The function has to be inputted
More informationRadiometry and reflectance
Radiometry and reflectance http://graphics.cs.cmu.edu/courses/15-463 15-463, 15-663, 15-862 Computational Photography Fall 2018, Lecture 16 Course announcements Homework 4 is still ongoing - Any questions?
More informationLight Reflection Models
Light Reflection Models Visual Imaging in the Electronic Age Donald P. Greenberg October 21, 2014 Lecture #15 Goal of Realistic Imaging From Strobel, Photographic Materials and Processes Focal Press, 186.
More informationGetting Started With Mathematica
Getting Started With Mathematica First Steps This semester we will make use of the software package Mathematica; this package is available on all Loyola networked computers. You can access Mathematica
More informationLecture 21: Shading. put your trust in my shadow. Judges 9:15
Lecture 21: Shading put your trust in my shadow. Judges 9:15 1. Polygonal Models Polygonal models are one of the most common representations for geometry in Computer Graphics. Polygonal models are popular
More informationShading I Computer Graphics I, Fall 2008
Shading I 1 Objectives Learn to shade objects ==> images appear threedimensional Introduce types of light-material interactions Build simple reflection model Phong model Can be used with real time graphics
More informationSIMULATING ARBITRARY-GEOMETRY ULTRASOUND TRANSDUCERS USING TRIANGLES
Jørgen Arendt Jensen 1 Paper presented at the IEEE International Ultrasonics Symposium, San Antonio, Texas, 1996: SIMULATING ARBITRARY-GEOMETRY ULTRASOUND TRANSDUCERS USING TRIANGLES Jørgen Arendt Jensen,
More informationLocal Illumination. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller
Local Illumination CMPT 361 Introduction to Computer Graphics Torsten Möller Graphics Pipeline Hardware Modelling Transform Visibility Illumination + Shading Perception, Interaction Color Texture/ Realism
More informationScientific Visualization Example exam questions with commented answers
Scientific Visualization Example exam questions with commented answers The theoretical part of this course is evaluated by means of a multiple- choice exam. The questions cover the material mentioned during
More informationand Flat-Panel Constant Beamwidth Transducer (CBT) Loudspeaker Arrays Using Signal Delays
Implementation of Straight-Line and Flat-Panel Constant Beamwidth Transducer (CBT) Loudspeaker Arrays Using Signal Delays D. B. (Don) Keele, Jr. Principle Consultant DBK Associates and Labs Bloomington,
More informationRecovering dual-level rough surface parameters from simple lighting. Graphics Seminar, Fall 2010
Recovering dual-level rough surface parameters from simple lighting Chun-Po Wang Noah Snavely Steve Marschner Graphics Seminar, Fall 2010 Motivation and Goal Many surfaces are rough Motivation and Goal
More informationIf you ask most people what A s strategy should be when all 3 duelists are alive, there are two common answers:
The Truel Problem Imagine that you have a three-way duel (or truel ). The three duelists are named A, B, and C and have accuracy probabilities of a, b, and c with 0 < a < b < c < 1. The rules of the duel
More informationParametric Curves, Polar Plots and 2D Graphics
Parametric Curves, Polar Plots and 2D Graphics Fall 2016 In[213]:= Clear "Global`*" 2 2450notes2_fall2016.nb Parametric Equations In chapter 9, we introduced parametric equations so that we could easily
More informationIntroduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14
600.363 Introduction to Algorithms / 600.463 Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14 23.1 Introduction We spent last week proving that for certain problems,
More information1.7 Limit of a Function
1.7 Limit of a Function We will discuss the following in this section: 1. Limit Notation 2. Finding a it numerically 3. Right and Left Hand Limits 4. Infinite Limits Consider the following graph Notation:
More informationØ Sampling Theory" Ø Fourier Analysis Ø Anti-aliasing Ø Supersampling Strategies" Ø The Hall illumination model. Ø Original ray tracing paper
CS 431/636 Advanced Rendering Techniques Ø Dr. David Breen Ø Korman 105D Ø Wednesday 6PM 8:50PM Presentation 6 5/16/12 Questions from ast Time? Ø Sampling Theory" Ø Fourier Analysis Ø Anti-aliasing Ø Supersampling
More informationRendering Light Reflection Models
Rendering Light Reflection Models Visual Imaging in the Electronic Age Donald P. Greenberg October 27, 2015 Lecture #18 Goal of Realistic Imaging The resulting images should be physically accurate and
More informationCS770/870 Spring 2017 Color and Shading
Preview CS770/870 Spring 2017 Color and Shading Related material Cunningham: Ch 5 Hill and Kelley: Ch. 8 Angel 5e: 6.1-6.8 Angel 6e: 5.1-5.5 Making the scene more realistic Color models representing the
More informationCPSC 314 LIGHTING AND SHADING
CPSC 314 LIGHTING AND SHADING UGRAD.CS.UBC.CA/~CS314 slide credits: Mikhail Bessmeltsev et al 1 THE RENDERING PIPELINE Vertices and attributes Vertex Shader Modelview transform Per-vertex attributes Vertex
More informationToday. Global illumination. Shading. Interactive applications. Rendering pipeline. Computergrafik. Shading Introduction Local shading models
Computergrafik Thomas Buchberger, Matthias Zwicker Universität Bern Herbst 2008 Today Introduction Local shading models Light sources strategies Compute interaction of light with surfaces Requires simulation
More information