1. Field of the Invention
The present invention relates generally to computer generated graphics. More particularly, the present invention relates to shading for three-dimensional computer generated graphics.
2. Background Art
Providing aesthetically pleasing visual results for three-dimensional computer generated graphics is an important and challenging task. As entertainment media such as movies and video games increasingly rely on three-dimensional computer generated graphics to supplement or replace live action footage or traditional painting techniques, it becomes important to streamline the computer aided workflow process. By providing artists and other creative professionals with intuitive computer based tools that ease the transition from ideas to computer generated renderings, visually appealing three-dimensional graphics can be more easily integrated into creative media while adhering to project budgets and schedules.
In particular, most three-dimensional characters, such as humans or animals, will have some kind of hair or fur on their bodies needing to be rendered. Human vision is very sensitive to the appearance of hair and can detect subtle inaccuracies in its appearance. Moreover, since hair can provide a very personal expression of style and creativity, hair is often considered one of the most important customization features for avatars, such as for online social communities and gaming networks. Thus, the importance of providing aesthetically pleasing hair is not to be overlooked.
On the other hand, rendering hair is not a trivial matter as it is computationally expensive to model the complex behavior of light scattering events in a volume of hair. While there has been much research on hair shading using physical models, it is difficult for computer graphics rendering to benefit from such research. Since the rendering parameters are based on physical material properties such as indices of refraction and absorption coefficients, it is difficult for artists and other creative professionals to manipulate the rendering parameters to achieve a specific aesthetic goal. In particular, due to the laws of physics and the coupling of physical material properties to multiple visual effects, it is difficult to create specific aesthetic changes, such as adjusting only the width of hair highlights, without changing the appearance of the rendering as a whole.
Thus, while physically based shading models can provide realistic and aesthetically pleasing results, they are often inappropriate for creative works due to their unintuitive art direction behavior. As a result, ad-hoc shaders that are more easily manipulated by artists have become common in production use. However, such ad-hoc shaders may lack the richness of detail provided by physical shaders, thereby providing a sub-optimal aesthetic appearance that may also break down in certain lighting conditions.
Accordingly, there is a need to overcome the drawbacks and deficiencies in the art by providing a three-dimensional computer graphics rendering system capable of producing aesthetically pleasing results for features such as hair while providing intuitive manipulation controls for art direction.
There are provided systems and methods for artist friendly control of three-dimensional object shading, particularly hair, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims.
The features and advantages of the present invention will become more readily apparent to those ordinarily skilled in the art after reviewing the following detailed description and accompanying drawings, wherein:
a through 2c present diagrams showing the single scattering subcomponents of light related to a single fiber of hair;
a presents diagrams showing multiple scattering components of light for a volume of hair, according to one embodiment of the present invention;
b presents visualizations of the Artist Friendly Controls (AFCs) for a multiple scattering model of hair rendering, according to one embodiment of the present invention;
The present application is directed to a system and method for artist friendly control of three-dimensional object shading, particularly hair. The following description contains specific information pertaining to the implementation of the present invention. One skilled in the art will recognize that the present invention may be implemented in a manner different from that specifically discussed in the present application. Moreover, some of the specific details of the invention are not discussed in order not to obscure the invention. The specific details not described in the present application are within the knowledge of a person of ordinary skill in the art. The drawings in the present application and their accompanying detailed description are directed to merely exemplary embodiments of the invention. To maintain brevity, other embodiments of the invention, which use the principles of the present invention, are not specifically described in the present application and are not specifically illustrated by the present drawings.
Before discussing the artist friendly controls provided by the present invention, it may be helpful to provide a brief overview of the state of the art in different shading models. As discussed in the background art, while physically based shader models may provide realistic and aesthetically pleasing hair rendering, they are difficult for artists to utilize since the control parameters are based on unintuitive physical material parameters. Such physical material parameters define the behavior of a material in response to light. These parameters may include an absorption coefficient, an extinction coefficient, a scattering coefficient and an index of refraction. However, artists are not interested in these parameters but in specific visual parameters such as color and brightness. To affect changes in specific visual parameters, artists using physical shader models must manually tweak physical parameters using trial and error, a tedious and time consuming process. Moreover, since the physical parameters are often coupled to several visual parameters, it is difficult to adjust one visual element in isolation without affecting others, which is highly undesirable behavior for art direction.
Although methods exist to extrapolate estimated physical parameters from photographic sources, thereby relieving artists from much of the trial and error of parameter selection, the requirement for photographic source material in the first instance is burdensome, particularly for fantastic and futuristic world designs requiring rendering of objects that have no analogues in the real world. If physical shader models are used, it may be difficult or impossible to implement desired art direction without undesirable rendering side effects or artifacts. Thus, artists are unduly restricted from expressing creative world designs that may not necessarily comply with realistic physical models.
As a result, many production environments have turned to ad-hoc shading models better suited to art direction. Many of these ad-hoc shaders are based on simplified shading models with more intuitive control parameters compatible with art direction. However, as discussed in the background art, the tradeoff is forfeiting the richness in visual detail and consistency in different lighting conditions inherently provided by physically based shading models. Thus, while ad-hoc shaders are easier for artists to control, they may provide sub-optimal visual quality.
Since the highly detailed and aesthetically pleasing results inherent in physically based shading models still remain compelling despite difficulties in art direction control, it may be a good starting point to return to focus on physically based shading models. Physically based scattering functions (ƒs) may be defined over the domain of material properties, or Physically Based Controls (PBC), which include parameters such as index of refraction η, absorption coefficient σa, and other parameters as discussed above. Thus,
ƒs=f(ωi, ωr, σa, η, . . . )=ƒ(ωi, ωr, {PBC})
where ωi and ωr are lighting and viewing directions. From this physical model, the goal is to produce a pseudo scattering function ƒ′s that approximates ƒs but is defined on a different domain of parameters that have intuitive visual meanings for artists and are separate for all visually meaningful components. This domain of intuitive, decoupled, and meaningful parameters shall be referred to as Artist Friendly Controls (AFC). Thus,
ƒ′s=f(ωi,ωr,{AFC})≈ƒs
Since the pseudo scattering function ƒ′s is an approximation of ƒs, it is not limited to the rules of physics and can generate a larger range of appearances such as super-natural appearances, allowing artists to more faithfully reproduce their creative visions that may include values beyond the possible range of physical models. Of course, if a more realistic rendering is desired, then ƒ′s may also provide a closer approximation of ƒs as well.
While the process described in steps 110-150 of
Moving to
Due to the presence of tilted cuticles, components 220a through 220c will be reflected in three different angles around the hair fiber, forming three different cones. Component 220a has the color of the light source and usually appears as a bright white highlight. Component 220b appears in backlit situations and is the bright halo around the hair. Component 220c appears above the primary highlight and has the color of the hair. Component 220c contains some randomized looking sharp peaks that are basically caustics formed as the light passes through the hair fibers. The randomized appearance is due to the fact that hairs have elliptical cross sections and are oriented randomly.
As is known in the art, components 220a through 220c can be decomposed into three longitudinal functions M(θ), depicted in
where subscript Xε{R, TT, TRT} represents one of the three subcomponents from components 220a through 220c.
The longitudinal scattering functions Mx(θ) have been modeled as unit-integral, zero-mean Gaussian functions. The variance of these Gaussian functions represents the longitudinal width of each highlight:
M
X(θ)=g(βX2,θh−αX)
where g is a unit-integral, zero-mean Gaussian function and β2 represents the variance of the lobe and αx represents its longitudinal shift. By assuming circular cross sections for the hair fibers when computing the azimuthal scattering functions, the final shape of the scattering functions is relatively easy to characterize, as shown in
Proceeding with step 120 of
Proceeding with step 130 of
Proceeding with step 140 of
Thus, the pseudo longitudinal scattering function is defined as follows:
M
X′(θ)=g′(βX2,θh−αX)
where Xε{R, TT, TRT} and g′ is a unit-height zero-mean Gaussian function and βx represents the longitudinal width of component X and αx is its longitudinal shift.
Moving to
The azimuthal scattering function for the primary highlight Nr(φ) appears as an up-side down heart shape, as shown in diagram 310a of
N
R′(φ)=cos(φ/2) 0<φ<π
The azimuthal scattering function for the transmission component NTT appears as a sharp forward directed lobe, as shown in diagram 310b of
N
TT
′=g′(γTT2,π−φ)
where γ2TT is the azimuthal width of the transmission component. The azimuthal scattering function for the secondary highlight and the glints appears as shown in diagram 310c of
For the secondary highlight, more control parameters are present because of the glints. Due to the eccentricity of the human hair fibers, the number, intensity, and the azimuthal direction of the glints varies based on the orientation of each hair. However, since only the final visual impact of the glints is of importance, it may be assumed that glints are two sharp peaks with the same intensity that are always coming back towards the incoming light direction. A random shift may be added to the azimuthal direction to provide a randomized appearance. This simplified model produces visually acceptable results with greatly simplified rendering calculations and sufficient artist control over important glint properties, namely relative brightness over the secondary highlight and frequency of appearance. Thus,
N
TRT-G′=cos(φ/2)
N
G
′=I
g
g′(γg2,Gangle−φ)
N
TRT
′=N
TRT-G
+N
G′
where Ig is the relative intensity of glints over the intensity of the secondary highlight and γ2g is the azimuthal widths of the glints. Increasing the azimuthal widths increases the frequency of glint appearance, whereas decreasing the azimuthal widths reduces the frequency of glint appearance. Gangle is the half angle between the glints, which may be randomized for each hair strand between 30 and 45 degrees to provide a randomized appearance to the glints.
To provide color and brightness control for each component, it suffices to simply multiply each component by a scalar variable and a color variable. Thus,
ƒX′=CXIXMX′(θ)NX′(φ)
where Xε{R, TT, TRT} and Cx and Ix are the color and intensity of component X, respectively. These values can be controlled manually, procedurally, or through painted maps.
Proceeding with step 150 of
As a result, the final pseudo scattering function ƒ′s is derived for the single scattering case.
Unfortunately, single scattering is often inadequate to provide the correct perception of hair color, particularly for light colored hair. Thus, multiple scattering models are preferred to provide accurate representation of hair color. Beginning with step 110 of
However, by taking into consideration the physical properties of human hair, an approximation of the multiple scattering components can be provided by the Dual Scattering model, which is fast and relatively accurate. Thus, the Dual Scattering model will be adopted to apply the steps of diagram 100 in
Global multiple scattering accounts for light reaching the neighborhood of the shading point, and is dependent on the orientation of all the hairs between the light source and the point. It requires calculating the forward scattering transmittance and spread of the light that reaches the shading point from all light sources. Global multiple scattering will be computed for different points separately.
Local multiple scattering approximates the scattering events within the local neighborhood of the shading point, and is only dependent on the longitudinal inclination of the hair strand at the shading point, assuming that all surrounding hairs around the shading region have the same orientation and are infinite.
Moving to
Proceeding with step 120 of
The results from the team of artists came up as two components:
It should be noted that fscatterback and fdirectback are very similar quantities corresponding to the well-known fback quantity. fdirectback is being used in the computation of Fdirect term while fscatterback is being used in the computation of fscatter and accounts for the variance of forward scattering in the longitudinal directions
Moving to
Proceeding with step 130 of
Proceeding with steps 140 and 150 of
where Ω is the full sphere around the shading point.
Combining all of the above, the pseudo code shown below implements steps 140 and 150 by reproducing the results of dual scattering with embedded artist controls.
The symbols used in the pseudo code are well known for the Dual Scattering algorithm, and include Āb for the average backscattering attenuation,
The terms M′x and N′x are the pseudo scattering functions corresponding to the longitudinal and azimuthal scattering functions respectively, as described above. Corresponding to the adjustments described above in step 130, IForward and IBack are control parameters for adjusting the intensity values, while CForward and CBack are control parameters for adjusting the color values of the forward scattering and backscattering components respectively. Finally, βBack and αBack are control parameters for adjusting the longitudinal shift and the longitudinal width of the back scattering components.
One problem that arises is since the multiple scattering computations are based on the single scattering functions, there arises an inherent relationship between the components as multiple scattering is basically the effect of many single scattering events. As previously discussed, such coupling leads to unintuitive and undesirable behavior for art direction. To address this problem, two sets of parameters may be provided, one that feeds into the single scattering and one that feeds into the multiple scattering, which may be linked by default but also severed at will by artists.
Moving to
According to preliminary user evaluations, the new shader using AFCs provides better art direction, lighting appearance, and photographic reference matching compared to physical based shaders or ad-hoc production shaders. Additionally, as example advantages of shaders according to various embodiment of the present invention, the rendering performance has been measured to be around 3.3 times faster than the ad-hoc production shader and 1.5 times faster than a physical based research shader. Moreover, shaders according to various embodiment of the present invention require less memory, with the production shader requiring 1.3 times more memory and the research shader requiring 1.6 times more memory. This leads to faster rendering turn-around times and allows production to proceed on more modest hardware, tighter budgets, and accelerated schedules.
Moving to
For example, user 625 may comprise the end user or artist, input device 626 may comprise a keyboard, mouse, pen tablet, or other input device, and computer system 610 may comprise a workstation or server computer. While only a single computer system 610 is shown in
Processor 611 may be executing rendering program 615, which may comprise a three-dimensional graphics rendering system and user interface such as PhotoRealistic RenderMan by Pixar and Autodesk Maya. Using input device 626, user 625 may manipulate the values stored in rendering parameters 616, which may correspond to the Artist Friendly Controls (AFCs) as discussed above. Rendering program 615 may then use object data 617, which may include object models and textures, and frame data 618, which may include camera and lighting settings, to generate rendered scene 620, which may comprise a still frame or an animated sequence of frames. Through the use of native or plug-in functionality, rendering program 615 may use a pseudo scattering function shader as described above for the rendering of hair and other fibers on characters and other objects. As previously described, similar pseudo scattering functions may be developed for other materials, which rendering program 615 may support as well. Rendered scene 620 may then be output to display 621, where user 625 can review the rendering results. If user 625 deems the rendering results adequate, then the settings in memory 612 may be stored in a more permanent fashion, such as in non-volatile memory, to be rendered by rendering servers in high quality for movie applications, or to be used as asset data for real-time applications such as online gaming.
Moving to
Referring to step 710 of flowchart 700 in
Referring to step 720 of flowchart 700 in
Referring to step 730 of flowchart 700 in
Referring to step 740 of flowchart 700 in
Referring to step 750 of flowchart 700 in
From the above description of the invention it is manifest that various techniques can be used for implementing the concepts of the present invention without departing from its scope. Moreover, while the invention has been described with specific reference to certain embodiments, a person of ordinary skills in the art would recognize that changes can be made in form and detail without departing from the spirit and the scope of the invention. As such, the described embodiments are to be considered in all respects as illustrative and not restrictive. It should also be understood that the invention is not limited to the particular embodiments described herein, but is capable of many rearrangements, modifications, and substitutions without departing from the scope of the invention.