Hair Rendering And Shading - AMD

2y ago
17 Views
2 Downloads
2.72 MB
23 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Farrah Jaffe
Transcription

Practical Real-Time HairReal-TimeRendering and ShadingThorsten ScheuermannATI Research

Outline Art assets– Hair model– Textures Shading– Kajiya-Kay– Marschner Depth sorting– Early-Z culling optimization Demo

Hair Model - Geometry Several layers of patches toapproximate volumetricqualities of hair Per-vertex ambientocclusion term toapproximate self-shadowing

Hair ModelReasons for using a polygonal hair model: Lower geometric complexity than line rendering– Makes depth sorting faster– Pretty much a necessity for real-world use on currentgraphics hardware Integrates well into our art pipeline

Hair Model - Textures Base texture– Stretched noise– Hair color set in a shaderconstant Alpha texture– should have fully opaqueregionsBase Texture Specular shift texture Specular noise textureAlpha Texture

Hair Lighting: Kajiya-KayKajiya-Kay Anisotropic strand lighting modelT Use hair strand tangent T instead ofnormal N in lighting equationsL Assumes hair normal to lie in planespanned by T and view vector VHN Example: Specular N·H termdot( N , H )specularitysin(T , H )Vspecularity 1 dot(T , H )2specularity

Hair Lighting: Marschner Based on measurements ofhair scattering properties Observations– Primary specular highlight shiftedtowards hair tip– Secondary specular highlight Colored Shifted towards hair root Sparkling appearance For simplicity we’re trying to matchthese observations htHair strandinterior

Hair Shader ImplementationVertex Shader Just passes down tangent, normal, view vector, lightvector, ambient occlusion termPixel Shader Diffuse Lighting Two shifted specular highlights Combines lighting terms

Diffuse Lighting Term Kajiya-Kay diffuse term sin(T, L) looks too brightwithout proper self-shadowing Instead, use scaled and biased N·L term:diffuse max(0, 0.75 N L 0.25) Brightens up areas facing away from the light whencompared to plain N·L term– Simple subsurface scattering approximation Softer look

Shifting Specular HighlightsN Move tangent along patch normaldirection to shift specular highlightalong hair strand Assuming T is pointing from root to tip:T”T– Positive shift moves highlight towards tip– Negative shift moves highlight towards root Look up shift value from texture tobreak up uniform look over hairpatchesShift textureT’

Specular Strand Lighting Specular strand lighting usinghalf-angle vector Compute two highlights with– Different colors– Different specular exponents– Differently shifted tangentsSpecular Noise Texture Modulate secondary highlight with noise texture Specular highlights are attenuated by scaled andbiased N·L term to account for lack of true selfshadowing

Combination of Lighting TermsfinalColor (diffuse specular1 specular2 ) baseTexture ambientOcclusionAmbient OcclusionDiffuse TermSpecular TermsCombined

ComparisonKajiya-KayMarschner et al.(Left three pictures from [Marschner03])PhotographOur shader

Approximate Depth Sorting Back-to-front rendering order necessary for correctalpha-blending For a head with hair this is very similar to renderingfrom inside to outside Use static index buffer with insideto outside draw order– Computed at pre-process time– Sort connected components(hair strand patches) insteadof individual triangles

Sorted Hair RenderingScheme Pass 1: render opaque parts– Visibility resolved using z buffer Pass 2: render transparent back-facing parts Pass 3: render transparent front-facing parts Use alpha testing to distinguish between opaqueand transparent parts in each pass

Taking Advantage of Early-ZEarly-ZCulling Early-Z culling allows skipping pixel shaderexecution for fragments that fail Z test Helps scenes with high depth complexity like thelayered hair model Unfortunately early-Z culling is incompatible withalpha testing on our target hardware Replacing alpha tests with Z tests enables early-Zculling which speeds up hair rendering

Optimized Scheme: Pass 1Prime Z buffer with depth of opaque hair regions Enable alpha test to only pass opaque pixels Disable backface culling Enable Z writes, set Z test to Less Disable color buffer writes Use simple pixel shader that only returns alpha No benefits of early-Z culling in this pass, but shaderis very cheap anyway

Optimized Scheme: Pass 2Render opaque regions Start using full hair pixel shader Disable backface culling Disable Z writes Set Z test to Equal– Z test passes only for fragments that wrote to Z in pass 1,which are the opaque regions This and subsequent passes don’t require alphatesting and thus benefit from early-Z culling

Optimized Scheme: Pass 3Render transparent back-facing parts Cull front-facing polygons Disable Z writes– Z order isn’t necessarily correct Set Z test to Less

Optimized Scheme: Pass 4Render transparent front-facing parts Cull back-facing polygons Enable Z writes Set Z test to Less Enabling Z writes prevents incorrect depth order atexpense of possibly culling too much Covers up potential depth order artifacts of previouspass

Demo

Pros and ConsPros:Cons: Low geometric complexity Sorting scheme assumeslittle to no animation inhair model– Reduced load on vertexengine– Makes depth sorting faster Easy fall-backs for lowerend hardware– Things like dangling ponytails need to be handledseparately– Sort geometry at run-timeto overcome this Not suitable for all hairstyles

Conclusion Art assets– Polygon hair model– Textures Shading– Diffuse term– Two specular terms– Ambient occlusion term Approximate depth sorting Early-Z culling optimization

– Early-Z culling optimization Demo. Hair Model -Hair Model - GGeometryeometry Several layers of patches to approximate volumetric qualities of hair Per-vertex ambient occlusion term to approximate self-shadowing. Hair Model Reasons for using a polygonal hair model:

Related Documents:

chassis-000 0839QCJ01A ok Sun Microsystems, Inc. Sun Storage 7410 cpu-000 CPU 0 ok AMD Quad-Core AMD Op cpu-001 CPU 1 ok AMD Quad-Core AMD Op cpu-002 CPU 2 ok AMD Quad-Core AMD Op cpu-003 CPU 3 ok AMD Quad-Core AMD Op disk-000 HDD 0 ok STEC MACH8 IOPS disk-001 HDD 1 ok STEC MACH8 IOPS disk-002 HDD 2 absent - - disk-003 HDD 3 absent - -

AMD Sempron 3200 3800 ou superiores AMD Sempron LE1200 ou superiores: AMD Athlon 64x2 3600 6000 ou superiores . AMD Athlon 64 3000 4000 ou superiores . AMD Athlon 64 Sempron 3000 3200 ou superiores . AMD Athlon LE1660 ou superiores . AMD Athlon 64 FX 72 / 74

SABERTOOTH 990FX R3.0 Spezifikationsübersicht CPU AMD Sockel AM3 für bis zu 8-Kern-CPUs der AMD FX Serie Kompatibel mit AMD Sockel AM3 für AMD Phenom II / Athlon II / Sempron 100er Serie Prozessoren AMD 220W CPU Unterstützung AMD Cool 'n' Quiet Technologie Chipsatz AMD 990FX/SB950 System-Bus Bis zu 5,2 GT/s; HyperTransport 3 .

So, what is better with strand-based rendering? Strand based rendering, where hair fibers are modelled as individual strands, or curves, is the current state of the art when rendering hair offline. And it can look something like this image generated using Arnold. Modelling hair as strands has a lot of benefits for physics and rendering since it .

Shading, Rendering and Texture Rendering –Color Pencil Only 1. As before use your shading technique to render with one color from light to dark 2. Select 2 colors and blend those 2 colors from 1 to another (E.G. Blue from the left, shading 6 squares right. Green from the left, shading

In the past, real-time hair rendering could only be done with a mesh representation of the hair on which a material was applied. Figure 1: Hair rendering of Ruby by [Scheuermann 2004] One attempt to put hair on a human mesh was done by [Scheuermann 2004] of ATI Research and presented at Siggraph 2004. Scheuermann's approach is based on the hair

different orientations, egg-crate shading and (egg-crate louver) shading devices. Previous authors have worked on different external shading devices on various glass materials to reduce the direct solar radiation into buildings. To study the various shading devices vertical fins, overhangs and egg-crate windows find the best shading device to

Grade-specific K-12 standards in Reading, Writing, Speaking and Listening, and Language translate the broad aims of The Arizona English Language Arts Anchor Standards into age- and attainment-appropriate terms. These standards allow for an integrated approach to literacy to help guide instruction. Process for the Development of the Standards In response to the call from Superintendent Douglas .