rendering fur with three dimensional textures james t. kajiya and timothy l. kay

18
Rendering Fur with Rendering Fur with Three Dimensional Three Dimensional Textures Textures James T. Kajiya and Timothy James T. Kajiya and Timothy L. Kay L. Kay

Upload: rodger-paul

Post on 19-Jan-2016

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Rendering Fur with Three Dimensional Textures James T. Kajiya and Timothy L. Kay

Rendering Fur with Rendering Fur with Three Dimensional Three Dimensional TexturesTextures

James T. Kajiya and Timothy L. KayJames T. Kajiya and Timothy L. Kay

Page 2: Rendering Fur with Three Dimensional Textures James T. Kajiya and Timothy L. Kay

MotivationMotivation

We want to be able We want to be able to render furry to render furry things!things!

http://www.lesleymattuchio.com/Ladies.html

http://www.trappersden.ca/Moxy.JPG

Page 3: Rendering Fur with Three Dimensional Textures James T. Kajiya and Timothy L. Kay

Previous WorkPrevious Work

Geometrically accurateGeometrically accurate– Brute-force rendering of individual Brute-force rendering of individual

hairshairs– Very slowVery slow– Severe aliasing due to micro-Severe aliasing due to micro-

geometrygeometry Particle-based systems for Particle-based systems for

Volume renderingVolume rendering– Not optimal for ray tracingNot optimal for ray tracing

Page 4: Rendering Fur with Three Dimensional Textures James T. Kajiya and Timothy L. Kay

Volume DensitiesVolume Densities

Blinn (1982)Blinn (1982)– Method for rendering volume densitiesMethod for rendering volume densities– Volume of microscopic spheresVolume of microscopic spheres– Assumed Homogeneous mediaAssumed Homogeneous media

Kajiya and Von Hersen (1984)Kajiya and Von Hersen (1984)– Generalized to non-homogeneous Generalized to non-homogeneous

mediamedia– Volume rendering for ray tracingVolume rendering for ray tracing

Page 5: Rendering Fur with Three Dimensional Textures James T. Kajiya and Timothy L. Kay

Volume DensitiesVolume Densities

For each ray through the volume…For each ray through the volume…– Find the transparency of the surfaceFind the transparency of the surface

– Find the brightness of the surfaceFind the brightness of the surface

Page 6: Rendering Fur with Three Dimensional Textures James T. Kajiya and Timothy L. Kay

Volume densitiesVolume densities

Three parts of the brightness integral

Visibility of the current position in the volume

Sum of the light contribution from each light source

The density of the surface at the point

Page 7: Rendering Fur with Three Dimensional Textures James T. Kajiya and Timothy L. Kay

TexelsTexels

Replace volume densities with Replace volume densities with texels: texels: 3D array containing 3D array containing microsurface datamicrosurface data– Density:Density: relative projected area of a relative projected area of a

surface inside the volume cellsurface inside the volume cell– Frames: Frames: Local direction of the surfaceLocal direction of the surface– Lighting Model: Lighting Model: The lighting model The lighting model

for the local surfacefor the local surface

Page 8: Rendering Fur with Three Dimensional Textures James T. Kajiya and Timothy L. Kay

TexelsTexels

Can we render texels Can we render texels with the original with the original volume density volume density rendering equations?rendering equations?– All line integrals go to All line integrals go to

00– Transparency and Transparency and

brightness brightness calculations both go calculations both go to 0!to 0!

Page 9: Rendering Fur with Three Dimensional Textures James T. Kajiya and Timothy L. Kay

TexelsTexels

Solution: replace all integrals with sumsSolution: replace all integrals with sums– Transparency equation becomesTransparency equation becomes

– Brightness equation becomesBrightness equation becomes

Page 10: Rendering Fur with Three Dimensional Textures James T. Kajiya and Timothy L. Kay

Fur RenderingFur Rendering

Four steps to rendering fur:Four steps to rendering fur:– Create fur texelCreate fur texel– Map texels to world spaceMap texels to world space– Shoot rays into texelShoot rays into texel– Calculate lightingCalculate lighting

Page 11: Rendering Fur with Three Dimensional Textures James T. Kajiya and Timothy L. Kay

Fur RenderingFur Rendering

Create Fur TexelCreate Fur Texel– Each hair is a cylinderEach hair is a cylinder– Place hairs randomly Place hairs randomly

on a surfaceon a surface– Model overcoat and Model overcoat and

undercoatundercoat– Jiggle until it looks Jiggle until it looks

“correct”“correct”

Page 12: Rendering Fur with Three Dimensional Textures James T. Kajiya and Timothy L. Kay

Fur RenderingFur Rendering

Map texels to world Map texels to world spacespace– Create a continuous Create a continuous

mapping between mapping between texel and modeltexel and model

– Interpolate between Interpolate between texels to form a texels to form a bilinear patchbilinear patch

– No geometry is No geometry is neededneeded

Page 13: Rendering Fur with Three Dimensional Textures James T. Kajiya and Timothy L. Kay

Fur RenderingFur Rendering

Shoot rays into texelShoot rays into texel– Intersect rays with bilinear texel patch in Intersect rays with bilinear texel patch in

world spaceworld space– Convert intersection into texel spaceConvert intersection into texel space

Calculate LightingCalculate Lighting– Fur lighting model is diffuse and specularFur lighting model is diffuse and specular– Diffuse based on cylindrical shapeDiffuse based on cylindrical shape– Specular is modified Phong lightingSpecular is modified Phong lighting

Page 14: Rendering Fur with Three Dimensional Textures James T. Kajiya and Timothy L. Kay

ResultsResults

Page 15: Rendering Fur with Three Dimensional Textures James T. Kajiya and Timothy L. Kay

ResultsResults

Page 16: Rendering Fur with Three Dimensional Textures James T. Kajiya and Timothy L. Kay

ConclusionConclusion

Fur rendering using 3D texturesFur rendering using 3D textures– New 3D texture model called texelNew 3D texture model called texel– New rendering equations for New rendering equations for

microsurfacesmicrosurfaces– Fur texel modeling techniqueFur texel modeling technique– Texel mapping/interpolation to form Texel mapping/interpolation to form

objects without geometryobjects without geometry– Fur lighting BRDFFur lighting BRDF

Page 17: Rendering Fur with Three Dimensional Textures James T. Kajiya and Timothy L. Kay

Pros/ConsPros/Cons

ProsPros– Very realistic results!Very realistic results!– Complete description of methodComplete description of method– Great reference images for comparison Great reference images for comparison

with faster methodswith faster methods– Easily extendableEasily extendable

ConsCons– Fairly slow (2 hrs on a 16 processor Fairly slow (2 hrs on a 16 processor

mainframe)mainframe)

Page 18: Rendering Fur with Three Dimensional Textures James T. Kajiya and Timothy L. Kay

QuestionsQuestions