Presentation is loading. Please wait.

Presentation is loading. Please wait.

Real-Time Fur on Arbitrary Surfaces Jed Lengyel Emil Praun Adam Finkelstein Hugues Hoppe Jed Lengyel Emil Praun Adam Finkelstein Hugues Hoppe Microsoft.

Similar presentations


Presentation on theme: "Real-Time Fur on Arbitrary Surfaces Jed Lengyel Emil Praun Adam Finkelstein Hugues Hoppe Jed Lengyel Emil Praun Adam Finkelstein Hugues Hoppe Microsoft."— Presentation transcript:

1 Real-Time Fur on Arbitrary Surfaces Jed Lengyel Emil Praun Adam Finkelstein Hugues Hoppe Jed Lengyel Emil Praun Adam Finkelstein Hugues Hoppe Microsoft Research Princeton University Microsoft Research Princeton University Microsoft Research

2 l Name your favorite things… almost all of them are fuzzy. Real-Time CG Needs Fuzzy Objects

3 MotivationMotivation

4 Tarantula Demo

5 Previous work on fur l Particle systems [Reeves 83] l Volume textures [Kajiya & Kay 86] l Special surface shader [Goldman 97] l Geometry [Van Gelder & Wilhelms 97] l Volume textures using CG Hardware [Meyer and Neyret 98] [Lengyel 00] l Particle systems [Reeves 83] l Volume textures [Kajiya & Kay 86] l Special surface shader [Goldman 97] l Geometry [Van Gelder & Wilhelms 97] l Volume textures using CG Hardware [Meyer and Neyret 98] [Lengyel 00]

6 Geometric Models l Cones too slow on current hardware l Lines interactive for sparse fur l Poor filtering l Cones too slow on current hardware l Lines interactive for sparse fur l Poor filtering [Van Gelder, Wilhelms 97]

7 Previous work on fur l Volume textures using CG hardware [Meyer and Neyret 98] l Shell textures [Lengyel 00] l Volume textures using CG hardware [Meyer and Neyret 98] l Shell textures [Lengyel 00]

8 Shell textures [Lengyel 00]

9 Generating the Textures 1.Geometric model – Seed surface with curl starting points. – Grow as particle system. 1.Geometric model – Seed surface with curl starting points. – Grow as particle system. [Lengyel 00]

10 Generating the Textures – Interpolate to generate more seed points. – Ignore hair-to-hair collision. – Interpolate to generate more seed points. – Ignore hair-to-hair collision. [Lengyel 00]

11 Generating the Textures 2. Sample volume Keep: – color – opacity – ( normal) 2. Sample volume Keep: – color – opacity – ( normal) [Lengyel 00]

12 Generating the Textures Wide range of fur possible with different seed colors and curl parameters [Lengyel 00]

13 Problems with shell textures (1) Surface parametrization (given arbitrary surface)? (given arbitrary surface)? (2) Texture memory usage (several shells, over entire surface, at hair resolution!) (several shells, over entire surface, at hair resolution!) (1) Surface parametrization (given arbitrary surface)? (given arbitrary surface)? (2) Texture memory usage (several shells, over entire surface, at hair resolution!) (several shells, over entire surface, at hair resolution!) lapped volume textures

14 Problems with shell textures (3) Poor silhouettes (shells break apart at oblique angles) (shells break apart at oblique angles) (3) Poor silhouettes (shells break apart at oblique angles) (shells break apart at oblique angles) fin textures

15 Review of Lapped Textures texture patch surface

16 Key Idea: Patch Pasting texture patch surfacesurface lapped textures

17 Stone Bunny Demo

18 Stone Bunny Result 25 frames per sec! 256 x 256 texture (282 times) 256 x 256 texture (282 times) 15,000 faces

19 Lapped volume textures l Simple idea: each shell is a lapped texture. opaque skin transparent shells composite

20 Bunny Demo

21 IssuesIssues l Rendering order n innermost outermost shell l Directional texture vs. isotropic texture l Texture alpha n Lapped textures: splotch outline n Volume is semi-transparent alpha = splotch outline × volume alpha alpha = splotch outline × volume alpha l Rendering order n innermost outermost shell l Directional texture vs. isotropic texture l Texture alpha n Lapped textures: splotch outline n Volume is semi-transparent alpha = splotch outline × volume alpha alpha = splotch outline × volume alpha

22 Poor silhouette

23 FinsFins

24 Fin Texture l Single fin texture l Interval region for each edge. l Single fin texture l Interval region for each edge. edge2edge1

25 Fin rendering l Rendering order: skin – shells – fins n shells, fins – no Z buffer write! l Fade based on viewing angle l Rendering order: skin – shells – fins n shells, fins – no Z buffer write! l Fade based on viewing angle

26 Fin Demo

27 Interactive Controls l Hair color l Hair length l Hair direction (combing) l Hair color l Hair length l Hair direction (combing)

28 Combing Demo

29 DemosDemos

30


Download ppt "Real-Time Fur on Arbitrary Surfaces Jed Lengyel Emil Praun Adam Finkelstein Hugues Hoppe Jed Lengyel Emil Praun Adam Finkelstein Hugues Hoppe Microsoft."

Similar presentations


Ads by Google