法線分布関数フィルタリングの実装と評価
全文
(2) Vol.2016-CG-164 No.2 2016/9/21. ใॲཧֶձڀݚใࠂ IPSJ SIG Technical Report. 1.2 όϯσΟϯάϘοΫεΛͬͨϑΟϧλϦϯά લड़ͷख๏ཧతʹਖ਼͍͕͠ɼ࣮ࡍʹࠩޡͷӨڹ Λ͘ڧड͚ΔͷͰ·͍݁͠ՌΛಘΒΕͳ͍͜ͱ͕͋Δ. }. ͨͩ͠ɼ๏ઢؔϑΟϧλϦϯάͰॎԣͷϐΫη ϧͷมԽྔΛݟΔͷͰɼର֯ํͷϐΫηϧͷ๏ઢແ͘ ͯྑ͍ɽͦͷͨΊຊߘͰҎԼͷΑ͏ʹলུͨ͠ɽ. ͱݩจͰड़ΒΕ͍ͯΔɽͦ͜ͰϑΟϧλϦϯάΛ҆ఆ. float3 SumNeighborPixels( float2 pixelID, float3 normal ). ͤ͞ΔͨΊʹɼKaplanyan et al. όΠΞεͷ͋Δաͳ. { float2 dir = 1.0 - 4.0 * frac( pixelID * 0.5 );. ϑΟϧλϦϯάΛ͏͜ͱΛਪͨ͠ɽ͜Ε Δhu , Δhv. float3 horz = normal + ddx_fine( normal ) * dir.x;. Ͱ࡞ΒΕΔฏߦ࢛ลܗͷόϯσΟϯάϘοΫεͷॎԣͷ. float3 vert = normal + ddy_fine( normal ) * dir.y;. ෯Λҟํੑ BRDF ͷૈ͞ύϥϝʔλͱͯ͠͏ͱ͍͏ ͷͰ͋Δɽ. return normal + horz + vert; }. 2.1.2 HLSL Shader Model 6.0 1.3 ࣮݁ݧՌ ࣮݁ݧՌΛਤ 1 ʹࣔ͢ɽ͜ͷϑΟϧλϦϯάख๏ʹΑͬ ͯΤΠϦΞγϯάΛ͑Δ͜ͱ͕Ͱ͖ͨҰํͰɼೖࣹ͕֯ ઙ͍߹ʹա͔ͭҟํੑͷ͍ڧϑΟϧλϦϯά͕ߦΘΕ ͓ͯΓɼ͜ΕʹΑͬͯʹٯΞʔςΟϑΝΫτ͕ൃੜͯ͠͠. DirectX 12 ͷ HLSL Shader Model 6.0 ͰྡϐΫη ϧͷΛࢀর͢Δ໋ྩ͕Ճ͞Εͨɽ͜ΕΛ༻͍Δ͜ ͱͰ্ड़ͷ pixel quad message passing ๏ΑΓ୯७͔ͭ ਫ਼ͷߴ͍ฏۉΛٻΊΔ͜ͱ͕ՄೳʹͳΔͱߟ͑ΒΕΔɽ ࠓޙ͜ͷ৽໋ྩΛ࣮ͬͨΛߦ͍͍ͨͱߟ͍͑ͯΔɽ. ·͍ͬͯΔɽ͜ͷݪҼεϩʔϓεϖʔεʹ͓͚Δதؒϕ ΫτϧͷมԽྔ͕ೖࣹ֯ͷਖ਼ʹൺྫ͢ΔͨΊͩͱߟ͑Β ΕΔɽͦͷͨΊɼೖࣹ͕֯ઙͭ͘๏ઢ͕ϐΫηϧؒͰม Խ͢Δ߹ɼ͜ͷதؒϕΫτϧͷมԽྔͷۃ͕ࠩޡΊͯେ ͖͘ͳͬͯ͠·͏Α͏Ͱ͋Δɽ͜͏ͨ͠ΞʔςΟϑΝΫτ Kaplanyan et al. ͕ओு͢ΔΑ͏ʹόϯσΟϯάϘο ΫεΛͬͨϑΟϧλϦϯάͰܰݮՄೳͰ͋Δɽ͠ͳ͠ͳ ͕ΒɼͦΕͰґવͱཱͯͭ͠ΞʔςΟϑΝΫτ͕ൃੜ ͯ͠͠·͍ͬͯΔɽ. 2. ฏۉ๏ઢϕΫτϧΛ༻͍ͨۙࣅ தؒϕΫτϧΛ༻͍ͨϑΟϧλϦϯάޫݯຖʹ͢ࢉܭ Δඞཁ͕͋Γɼޫ͕ݯଟ͍߹ʹ͕ྔࢉܭଟ͘ͳΔɽ· ͨɼσΟϑΝʔυϨϯμϦϯάʹ༻͍Δ͜ͱ͕Ͱ͖ͳ͍ͱ ͍͏͕͋Δɽͦ͜ͰσΟϑΝʔυϨϯμϦϯάʹର͠ ͯɼதؒϕΫτϧͷΘΓʹۙ 4 ϐΫηϧͷ๏ઢͷฏ ۉΛ༻͍Δۙࣅ͕ఏҊ͞Ε͍ͯΔɽͦ͜Ͱ͜ͷۙࣅ๏ʹͭ ͍࣭ͯͷධՁΛߦͬͯΈΔ͜ͱʹͨ͠ɽۙ 4 ϐΫηϧ ͷ๏ઢϕΫτϧͷฏۉͷٻΊํݩจʹهड़͞Ε͍ͯͳ ͍ͷͰɼຊߘͰղઆ͢Δɽ. 2.2 ࣮݁ݧՌ ࣮݁ݧՌΛਤ 2 ʹࣔ͢ɽʹͱ͖͘͜ڻೖࣹ͕֯ઙ͍ ߹ͰͷΞʔςΟϑΝΫτͷൃੜΛ͑Δ͜ͱ͕Ͱ͖ͨɽ͜ ͷཧ༝ͱͯ͠ɼதؒϕΫτϧͱҟͳΓฏۉ๏ઢମද ໘ʹରͯ͠ઙ͘ͳΓʹ͍ͨ͘Ίͱߟ͑ΒΕΔɽͦͷͨΊɼ ཧ্தؒϕΫτϧΛ༻͍Δͷ͕ਖ਼͍͠ͱߟ͑ΒΕΔ͕ɼ ฏۉ๏ઢϕΫτϧΛ༻͍ͨํ͕࣮༻ੑߴ͍ͱ͑ݴΔɽ. 3. ํੑۙࣅ σΟϑΝʔυϨϯμϦϯάͰɼG-buffer [6] ͷϝϞϦʔ ༻ྔΛ͑ΔͨΊํੑͷૈ͞ύϥϝʔλʹͨ͠ํ͕ ·͍͠ɽͦ͜Ͱ Kaplanyan et al. ͕ओு͢ΔΑ͏ʹɼό ϯσΟϯάϘοΫεΛͬͨϑΟϧλϦϯάʹ͓͍ͯૈ͞ ͷ࠷େΛ༻͍ͨํੑϑΟϧλϦϯάΛߦͬͬͯΈΔ͜ ͱʹͨ͠ɽ·ͨՃ࣮ͯ͠ͱݧɼڞࢄߦྻͷ࠷େͷݻ༗ Λ༻͍ͯૈ͞ͷਪఆΛߦͬͯΈͨɽ. 3.1 ࣮݁ݧՌ ࣮݁ݧՌΛਤ 3 ʹࣔ͢ɽҟํੑϑΟϧλϦϯάͱҟͳ Γɼ྆ऀͱࢹ֮తʹෆշͳΞʔςΟϑΝΫτ͕ൃੜ͢Δ. 2.1 ࣮ 2.1.1 Pixel quad message passing ϐΫηϧγΣʔμʔʹ͓͍ͯɼྡϐΫηϧͷΛಘ Δํ๏ͱͯ͠ pixel quad message passing ๏ [5] ͕͋Δɽ DirectX ͰྡϐΫηϧͷͱͷਖ਼֬ͳࠩΛಘΔ໋ྩ ͱͯ͠ɼddx fine/ddy fine ໋ྩ͕͋Δɽ͜ΕΛ༻͍Δ͜ͱ ͰɼҎԼͷΑ͏ʹ 4 ϐΫηϧͷ๏ઢͷ૯ΛٻΊΔ͜ͱ͕ ՄೳͱͳΔɽ float3 SumNeighborPixels( float2 pixelID, float3 normal ) {. ͜ͱͳ͘ͳͬͨɽҰํͰɼશମతʹաͳϑΟϧλϦϯ ά͕ߦΘΕͯ͠·͍ͬͯΔɽ͔͠͠ͳ͕ΒதؒϕΫτϧΛ ༻͍ͨҟํੑͷϑΟϧλϦϯάͱҧ͍ɼߴपͷΞʔςΟ ϑΝΫτͰͳ͍ͷͰࢹ֮తʹڐ༰͠қ͍ͱߟ͑ΒΕΔɽ. Kaplanyan et al. ͕ఏҊ͍ͯ͠Δૈ͞ͷ࠷େΛ༻͍ΔΑ Γɼ࠷େͷݻ༗Λ༻͍ͯૈ͞Λਪఆͨ͠ํ͕աͳ ϑΟϧλϦϯάΛएׯ͑Δ͜ͱ͕Ͱ͖ͨɽ. 4. ·ͱΊ. float2 dir = 1.0 - 4.0 * frac( pixelID * 0.5 ); float3 horz = normal + ddx_fine( normal ) * dir.x;. ຊڀݚใࠂͰ Kaplanyan et al. ͷ๏ઢؔϑΟϧ. float3 vert = normal + ddy_fine( normal ) * dir.y;. λϦϯάͷ࣮ͱධՁΛߦͬͨɽ࣮ݧͷ݁Ռɼཧ௨Γͷ. float3 diag = horz + ddy_fine( horz ) * dir.y; return normal + horz + vert + diag;. ⓒ 2016 Information Processing Society of Japan. ࣮ͰߴपͷΞʔςΟϑΝΫτ͕ൃੜ͢Δ͜ͱ͕֬. 2.
(3) Vol.2016-CG-164 No.2 2016/9/21. ใॲཧֶձڀݚใࠂ IPSJ SIG Technical Report. (a) ϑΟϧλϦϯάແ͠. (b) ڞࢄߦྻΛͬͨϑΟϧλϦϯά. (c) όϯσΟϯάϘοΫεΛͬͨϑΟϧλ Ϧϯά. ਤ 1: தؒϕΫτϧͷඍΛ༻͍ͨҟํੑϑΟϧλϦϯάɽೖࣹ͕֯ઙ͍߹ʹෆշͳΞʔςΟϑΝΫτ͕ൃੜ͍ͯ͠Δɽ ೝ͞Εͨɽ͔͠͠ͳ͕Βɼۙࣅख๏Ͱ͋ΔσΟϑΝʔυϨ ϯμϦϯά͚ͷํੑϑΟϧλϦϯάͰɼ෭࡞༻ͱ͠ ͯ͜ΕΒͷΛճආՄೳͰ͋Δ͜ͱ͕͔ͬͨɽͦͷͨ ΊɼϑΥϫʔυϨϯμϦϯάͰ͋ͬͯɼ͜ͷσΟϑΝʔ υϨϯμϦϯά͚ͷۙࣅΛߦͬͨํ͕ྑ͍Մೳੑ͕͋ Δɽ͜ͷۙࣅख๏աͳϑΟϧλϦϯάʹΑͬͯେ͖ͳ όΠΞεΛੜΈग़͕͢ɼ͜ͷόΠΞεपͰ͋Δɽ͜ ͷΑ͏ͳपͷόΠΞεࢹ֮తʹෆշʹͳΓʹ͍͘ͷ ͰɼήʔϜͷָޘΛతͱͨ͠ΞϓϦέʔγϣϯʹର͠ (a) ڞࢄߦྻΛͬͨϑΟϧλ (b) όϯσΟϯάϘοΫεΛ Ϧϯά. ͬͨϑΟϧλϦϯά. ͯద͍ͯ͠ΔՄೳੑ͕͋Δɽ ँࣙ. ຊจͷϙϦΰϯϞσϧʹҎԼͷ URL Ͱެ։. ਤ 2: ฏۉ๏ઢͷඍΛ༻͍ͨҟํੑϑΟϧλϦϯάɽೖ. ͞Ε͍ͯΔσʔλΛ༻͍ͤͯͨ͞ɽσʔλͷఏਂʹڙ. ࣹ͕֯ઙ͍߹ͷΞʔςΟϑΝΫτ͕தؒϕΫτϧΛͬ. ँ͢Δɽ. ͨ߹ʹൺͯେ͖͘ݮগ͍ͯ͠Δɽ. • F. Meinl and M. Dabrovic, URL: http://www.crytek.com/cryengine/cryengine3/downloads. . . A.1 ڞࢄߦྻϕʔεͷ GGX BRDF ϚΠΫϩϑΝηοτ BRDF[2] ҎԼͷࣜͰ༩͑ΒΕΔɽ. ρ(ω i , ω o ) =. (a) ڞࢄߦྻͷ࠷େͷݻ༗Λ (b) όϯσΟϯάϘοΫεͷ࠷ ͬͨϑΟϧλϦϯά. େ෯ΛͬͨϑΟϧλϦϯά. ਤ 3: ฏۉ๏ઢͷඍΛ༻͍ͨํੑϑΟϧλϦϯάɽ྆ ऀͱෆշͳߴपΞʔςΟϑΝΫτΛ΄΅શʹআͰڈ ͖Δ͕ɼաͳϑΟϧλϦϯάʹΑ͍ͬͯڧपͷόΠ. G2 (ω i , ω o , ω m )D(ω m )F (ω m · ω o ) . 4|ω i · n||ω o · n|. ͜͜Ͱ n ମද໘ͷ๏ઢɼω m =. தؒϕ. Ϋ τ ϧ ɼD(ω m ) Ϛ Π Ϋ ϩ ϑ Ν η ο τ ͷ ๏ ઢ ؔ ɼG2 (ω i , ω o , ω m ) masking-shadowing ؔɼͦͯ͠. F (ω m · ω o ) ϑϨωϧࣹ߲Ͱ͋ΔɽSmith ͷ masking ؔΛ G1 (ω o ) =. 1 1+Λ(ω o ). ͱ͢Δͱɼheight correlated. masking-shadowing ؔҎԼͷࣜͰ༩͑ΒΕΔɽ. Ξε͕ൃੜ͢Δɽ࠷େͷݻ༗Λ༻͍ͨํ͕աͳϑΟϧ λϦϯάΛ͑Δ͜ͱ͕ՄೳͰ͋Δɽ. ω i +ω o ||ω i +ω o ||. G2 (ω i , ω o , ω m ) =. 1 . 1 + Λ(ω i ) + Λ(ω o ). GGX Ͱද͞ΕΔϚΠΫϩαʔϑΣεܗঢ়ʗ৳ॖෆ. ⓒ 2016 Information Processing Society of Japan. 3.
(4) ใॲཧֶձڀݚใࠂ IPSJ SIG Technical Report. Vol.2016-CG-164 No.2 2016/9/21. มʢshape/stretch invarianceʣͰ͋Γɼૈ͞ύϥϝʔλ α ϚΠΫϩαʔϑΣεͷ৳ॖͷεέʔϧͰ͋Δɽͦͷͨ Ί๏ઢؔͱ Smith ͷ masking-shadowing ؔ ମද໘ͱதؒϕΫτϧͷ৳ॖ͔ΒٻΊΔ͜ͱ͕Ͱ͖Δ [3]ɽ طଘͷ anisotropic GGX BRDF ઢۭؒͰͷ࣠ํʹ ϚΠΫϩαʔϑΣεΛ৳ॖͤ͞ΔϞσϧͰ͋ΔɽͦΕʹର ͠ɼڞࢄߦྻϕʔεͷ BRDF ͰϚΠΫϩαʔϑΣε ͷ৳ॖํૈ͞ߦྻ A ͷݻ༗ϕΫτϧͰ͋Γɼ৳ॖͷ εέʔϧͷೋ͕ A ͷݻ༗Ͱ͋Δɽ͜ͷ͜ͱ͔Βɼ ઢۭؒʹ͓͍ͯ ω m = [xm , ym , zm ] ͱ͢Δͱܗঢ়ෆมΑΓ ๏ઢؔҎԼͷࣜͱͳΔɽ. D(ω m ) =. 1 . 2 )2 π det(A) ([xm , ym ]A−1 [xm , ym ]T + zm. ·ͨઢۭؒʹ͓͍ͯ ω o = [xo , yo , zo ] ͱ͢Δͱɼ৳ॖෆ มΑΓɼSmith ͷ masking-shadowing ؔʹରͯ͠ҎԼͷ ͕ࣜಋग़͞ΕΔɽ. [xo , yo ]A[xo , yo ]T + zo2 Λ(ω o ) = −0.5 + . 2|zo | ࢀߟจݙ [1]. [2]. [3]. [4]. [5] [6]. [7]. [8]. Beckmann, P. and Spizzichino, A.: Scattering of Electromagnetic Waves from Rough Surfaces, MacMillan (1963). Cook, R. L. and Torrance, K. E.: A Reflectance Model for Computer Graphics, ACM Trans. Graph., Vol. 1, No. 1, pp. 7–24 (1982). Heitz, E.: Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs, J. Comput. Graph. Tech., Vol. 3, No. 2, pp. 48–107 (2014). Kaplanyan, A. S., Hill, S., Patney, A. and Lefohn, A.: Filtering Distributions of Normals for Shading Antialiasing, HPG’16, pp. 151–162 (2016). Penner, E.: Shader Amortization using Pixel Quad Message Passing, GPU Pro 2, A K Peters, pp. 349–367 (2011). Saito, T. and Takahashi, T.: Comprehensible Rendering of 3-D Shapes, SIGGRAPH Comput. Graph., Vol. 24, No. 4, pp. 197–206 (1990). Trowbridge, T. S. and Reitz, K. P.: Average Irregularity Representation of a Rough Surface for Ray Reflection, J. Opt. Soc. Am, Vol. 65, No. 5, pp. 531–536 (1975). Walter, B., Marschner, S. R., Li, H. and Torrance, K. E.: Microfacet Models for Refraction Through Rough Surfaces, EGSR’07, pp. 195–206 (2007).. ⓒ 2016 Information Processing Society of Japan. 4.
(5)
関連したドキュメント
From these results described above, we can conclude that the subjects grip the caps with the two-finger gripping that is easy to exert their force when the opening
In this study, the standard deviation of gray level intensity Gsa, the ratio of surface area RA, the ratio of X-direction length RLX and the one of Y
a uniform appearance, resulting in a low standard deviation. Distribution of height values is obviously varied with increasing of wrinkle, although the mean of
myocardial perfusion imaging; normal database; Japanese Society of Nuclear Medicine working group; coronary artery disease;
Finally, we give an example to show how the generalized zeta function can be applied to graphs to distinguish non-isomorphic graphs with the same Ihara-Selberg zeta
Then the strongly mixed variational-hemivariational inequality SMVHVI is strongly (resp., weakly) well posed in the generalized sense if and only if the corresponding inclusion
Test information function showed that the Short Fear of Negative Evaluation Scale had better measurement accuracy for participants with higher levels of anxiety, suggesting
Amount of Remuneration, etc. The Company does not pay to Directors who concurrently serve as Executive Officer the remuneration paid to Directors. Therefore, “Number of Persons”