Device and method for estimating a glossy part of radiation

Information

  • Patent Grant
  • 10607404
  • Patent Number
    10,607,404
  • Date Filed
    Monday, February 15, 2016
    8 years ago
  • Date Issued
    Tuesday, March 31, 2020
    4 years ago
Abstract
The present invention relates to a glossy part of radiation is estimated coming from a surface illuminated by area light source(s) having source surface(s) (A) bounded by edge curves, by determining integrand function(s) representative of that glossy part. The latter corresponding to an integration of the integrand function along the edge curves. In this respect, the integrand function(s) is/are approximated by means of peak-shape function(s) having a known antiderivative over the edge curves, and the glossy part is computed from analytical expressions associated with integrations of the peak-shape function(s) along the edge curves. Such invention can offer efficient and accurate computation for specular part of reflection as well as glossy transmission, and is notably relevant to real-time rendering.
Description

This application claims the benefit, under 35 U.S.C. § 119 of European Patent Application No. 15305229.5, filed Feb. 16, 2015.


1. TECHNICAL FIELD

The invention relates to the domain of image rendering in computer graphics, notably real-time rendering, regarding the glossy part of radiations coming from surfaces illuminated by area light sources. More particularly, it concerns glossy surfaces, whether in reflection or in transmission. The invention is relevant to GPU (Graphics Processing Unit) implementations for production rendering, lighting previsualisation (or previz) tools and video game engines.


2. BACKGROUND ART

Physically based shading with area light is a challenging topic in computer graphics. Namely, a point light source modeling for approximating the lighting has generally been exploited in CGI and video games, due to its mathematical simplicity. However, it suffers from severe limitations when located close to surfaces. Area lights provide more natural lighting, giving notably VFX (visual effects) and game creators finer control on light balancing within a scene, to reduce contrast or match some artistic criteria.


In what follows, the term “rendering” refers broadly to the conversion of geometry and material data into visual images.


Also, the word “glossy” generally refers to shininess, and can pertain to specular reflection as well as transmission. Typically, smooth surfaces appear shiny or glossy to the eye, due to a significant amount of light being focused around a privileged direction.


In this respect, a glossy surface in reflection is nearly-specular. Namely, while a perfectly smooth surface obeys Snell's law, which involves a unique reflection direction for any incoming ray (that direction being symmetric with respect to the incoming ray with respect to a normal to the illuminated surface), more realistic representations rely on reflected light distribution around that direction. The latter constitutes then merely a preferred direction for reflected light.


More generally, a radiation reflected by a surface is usually represented as comprising a glossy part, identified as a specular component, in addition to diffusion and/or ambient parts, respectively representative of an ambient lighting reflection and a diffuse reflection by the illuminated surface.


Similarly, a glossy surface in transmission (or a glossy part of a transmitted radiation) involves a light distribution around the Snell law direction of transmission—corresponding to transparency. A glossy object in transmission appears then typically as “frosted glass”.


In what follows, a glossy radiation, or a glossy part of a radiation, designates a radiation concentrated around an oriented axis, whether in reflection or in transmission. In a more specific kind of glossy radiation, the behavior of the radiation around that axis is controlled by a cosine function raised by a n-power. The n power is then a glossiness or shininess constant coefficient that is worth at least 1, and is typically worth several tens or hundreds. The larger n, the more the glossy reflection is close to a perfect mirror-like specularity (smaller and sharper highlights), or the glossy transmission is close to a perfect transparency transmission. The cosine is further given by the angle between the oriented axis and a viewing direction.


Considering reflection, widespread models for the specular term are based on Phong lighting, which provides an empirical representation of local illumination of points on a surface, as well known to a person skilled in the art. Accordingly, the specular component of light reflected at a surface reflection point contains a factor derived from the dot product of a unit vector {right arrow over (γ)} corresponding to the mathematical reflection of the viewing direction over the surface at the considered reflection point, and of a unit vector {right arrow over (ω)}i (“i” standing for incoming) pointing to the light source. That factor is then given by the dot product raised by an n-power, where n stands for a Phong exponent, which corresponds to the shininess constant above:

({right arrow over (ωi)}·{right arrow over (r)})n,

Computing such an n-power factor proves generally computationally expensive, notably compared with the calculation of the diffuse and ambient terms. This is especially true with an area light source, because computations must be iterated over the surface of the light source.


Similar demanding computations are required for rendering an object that is glossy for light transmission, or for which part of the transmission is modelled as glossy.


As a whole, existing techniques for processing area light sources either require huge computation time to achieve good results or make some quality trade-off to work in real time.


In order to estimate the radiance of glossy surfaces illuminated by area lights (the radiance designating a light flux density per unit solid angle per unit area), two families of approaches have been developed: sampling ones and analytic ones.


The sampling approaches rely on discrete evaluation of the radiance integral either by considering discretization area light surface or by considering a stochastic sampling (typically Monte Carlo integration) of the hemisphere surrounding a receiving point. While those techniques work quite well with Lambertian surfaces, they require a huge amount of samples when dealing with non Lambertian surfaces, resulting in high computational costs.


Analytical approaches have been developed in particular by James Arvo, in his PhD thesis “Analytic methods for simulated light transport”, Yale University, 1995, and in his article “Applications of Irradiance Tensors to the Simulation of Non-Lambertian Phenomena”, In Computer Graphics Proceedings, Annual Conference Series, ACM SIGGRAPH, 1995. He introduced a closed form expression of radiance integral based on tensor theory and Stokes theorem, for polygonal light sources and Phong reflectance models. The surface integral is developed as a sum of 1D line integrals for which an analytic though complicated expression exists. Using integration by parts, a recurrence relation is derived, allowing incremental evaluation of the line integrals in






O


(


n
+
2

2

)






time.


The solution can be easily implemented in a GPU using any shading or computing language for real-time performances. However, for surface with high-order Phong exponents (e.g. greater than 100), the evaluation becomes computationally expensive. To overcome that issue, Arvo proposes early termination of the iteration loop once a desired relative accuracy is reached. Anyway, in many situations, the number of iterations is high for reaching performance hits during navigation. Moreover, execution of variable length on a GPU may result in poor performances due to code path divergence on parallel threads.


3. SUMMARY

The purpose of the present disclosure is to overcome for example at least one of the disadvantages of the background art, by for example offering a potentially efficient solution for estimating the radiance of glossy surfaces, or the radiance glossy part of non-Lambertian surfaces, illuminated by area lights.


An object of the disclosure is notably a real-time solution that, in its best embodiments, is able to provide outputs close to an exact solution with a quality similar to the ground truth, while requiring only O (1) time per area light edge in execution, instead of O (n) with traditional rendering methods.


Additional potential advantages of the present disclosure include easy implementation on graphics hardware, production renderers or games engines, and compatibility with soft shadow techniques based on shadow silhouette casting.


The present disclosure covers glossy reflection as well as glossy transmission, and is particularly relevant to polygonal light sources.


In this respect, the present disclosure relates to a device for determining a glossy part of a radiation coming from a surface illuminated by one or several area light source(s) having one or several source surface(s) bounded by edge curves. That device includes at least one processor configured for determining one or several integrand function(s) representative of the glossy part, that glossy part corresponding to an integration of the integrand function(s) along the edge curves.


According to the present disclosure, the processor(s) is/are further configured for:

    • approximating the integrand function(s) by means of one or several peak-shape function(s) having a known antiderivative over the edge curves,
    • computing the glossy part from analytical expressions associated with integrations of the peak-shape function(s) along the edge curves.


In particular implementations, the processor(s) is/are configured for estimating the glossy part when the latter is reflected by the illuminated surface.


That glossy part corresponds then advantageously to a specular term of a Phong reflection model.


In other implementations, the processor(s) is/are configured for estimating the glossy part when the latter is transmitted by the illuminated surface.


Advantageously, the processor(s) is/are configured for estimating the glossy part when the area light source(s) is/are polygonal and the edge curves are straight lines.


According to embodiments, the processor(s) is/are configured for estimating the glossy part coming from points of the illuminated surface, and the integrand function(s) depend(s) on the positioning of those points with respect to the edge curves and on viewing directions with regard to those points.


In particular implementations, the integrand function(s) having a maximal height at one or several peak abscissa(s) and having one or several floor value(s) at side abscissas, the processor(s) is/are configured for approximating the integrand function(s) by using parameters representative of those maximal height, peak abscissa(s), floor value(s) and side abscissas.


Also, the integrand function(s) having a maximal height and reaching a predefined ratio of that maximal height at one or several width abscissa(s), the processor(s) is/are advantageously configured for approximating the integrand function(s) by using parameters representative of those maximal height and width abscissa(s).


Then, the peak-shape function(s) being parameterized with one or several adjustment parameter(s), the processor(s) is/are preferably configured for determining the adjustment parameter(s) by using the parameters representative of the maximal height and width abscissa(s).


In specific implementations, the processor(s) is/are configured for approximating the integrand function(s) by using a linear combination of the peak-shape function(s) in an untranslated form, in a rightward translated form, and in a leftward translated form.


In other specific implementations, the peak-shape function(s) comprise(s) at least one of a Lorentzian function and a Pearson function.


Then, advantageously, the peak-shape function(s) comprise(s) an affine combination of a Lorentzian function and a Pearson function, and the integrand function(s) having a tail value at one or several tail abscissa(s), the processor(s) is/are configured for determining that affine combination by using parameters representative of those tail value and tail abscissa(s).


Advantageously, the device for estimating a glossy part of a radiation comprises a programmable rendering pipeline adapted for computing the glossy part.


In addition, the device comprises advantageously parallel computing capabilities, adapted to operations of the processor(s) in estimating the glossy part.


Another object of the invention is a GPU comprising a device for estimating a glossy part compliant with the present disclosure.


The present disclosure also pertains to a method for estimating a glossy part of a radiation coming from a surface illuminated by one or several area light source(s) having at least one source surface bounded by edge curves. That method includes determining one or several integrand function(s) representative of the glossy part, the latter corresponding to an integration of the integrand function(s) along the edge curves.


According to the present disclosure, the method further comprises:

    • approximating the integrand function(s) by means of one or several peak-shape function(s) having a known antiderivative over the edge curves,
    • computing the glossy part from analytical expressions associated with integrations of the peak-shape function(s) along the edge curves.


That method is advantageously executed by means of a device for estimating a glossy part according to the present disclosure.


In addition, the present disclosure concerns a computer program for estimating a glossy part of a radiation, comprising software code adapted to compute shadow according to perform steps of a method compliant with the present disclosure.


The present disclosure further pertains to a non-transitory program storage device, readable by a computer, tangibly embodying a program of instructions executable by the computer to perform a method for estimating a glossy part of a radiation compliant with the present disclosure.


Such a non-transitory program storage device can be, without limitation, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor device, or any suitable combination of the foregoing. It is to be appreciated that the following, while providing more specific examples, is merely an illustrative and not exhaustive listing as readily appreciated by one of ordinary skill in the art: a portable computer diskette, a hard disk, a ROM (read-only memory), an EPROM (Erasable Programmable ROM) or a Flash memory, a portable CD-ROM (Compact-Disc ROM).





4. LIST OF FIGURES

The present disclosure will be better understood, and other specific features and advantages will emerge upon reading the following description of particular and non-restrictive illustrative embodiments, the description making reference to the annexed drawings wherein:



FIG. 1 is a block diagram representing schematically a device for estimating a glossy part of a radiation, compliant with the present disclosure;



FIG. 2 is more detailed block diagram representation of a computation module of the device shown on FIG. 1;



FIG. 3 illustrates a physical configuration of a surface, where a reflective glossy part of a radiation (specular component) can be estimated by means of a device such as the one illustrated on FIGS. 1 and 2;



FIG. 4 shows the physical configuration of FIG. 3, with mathematical entities exploited in the device of FIGS. 1 and 2;



FIGS. 5A and 5B represent plots giving an integrand function of an angle corresponding to the physical configuration of FIGS. 3 and 4, for various values of parameters representative of surface shininess and of respective positions of view direction and light source; they correspond respectively to even and odd values of the shininess parameter;



FIGS. 6A and 6B represent plots giving the integrand function of respectively FIGS. 5A and 5B once normalized, and once shifted for the even values of FIG. 5B;



FIGS. 7A and 7B represent plots showing the variation of a half-width abscissa, and of a related approximation used by the device of FIG. 1, for respectively FIGS. 5A and 5B, in function of the parameter representative of respective positions of view direction and light source;



FIG. 8 represents the relative error in approximating the plots of FIG. 5A with related single-peak approximations obtained with the device of FIG. 1 by a combination of a Lorentzian function and a Pearson type VII function having a parameter 2.0;



FIG. 9A is a flow chart showing successive rendering steps executed with notably the device for estimating a glossy part of FIG. 1;



FIGS. 9B and 9C are detailing steps of the flow chart of FIG. 9A, executed by the device for estimating a glossy part of FIG. 1;



FIG. 10 diagrammatically shows a graphics processing apparatus comprising the device represented on FIG. 1.





5. DETAILED DESCRIPTION OF EMBODIMENTS

The present disclosure will be described in reference to a particular functional embodiment of device 1 for determining, e.g. computing or estimating, a glossy part of a radiation due at least partly to one or several area lights, as illustrated on FIG. 1.


The terms “adapted” and “configured” are used in the present disclosure as broadly encompassing initial configuration, later adaptation or complementation of the present device, or any combination thereof alike, whether effected through material or software means (including firmware).


The device 1 is adapted for processing such a glossy part in reflection (which concerns a specular component), in transmission, or in both reflection and transmission. It is particularly appropriate for glossy surfaces (in reflection and/or in transmission), but can also be relevant to various kinds of surfaces. In the general situation in reflection, the radiation including typically an ambient component, a diffusion component and a specular component, the device 1 is directed at least to the latter.


Also, the device 1 is configured for estimating the glossy part of a radiation at a specific surface point and directed to a specific view direction. The pieces of information comprising those point and direction form a target 10 for local radiation. In preferred embodiments, the device 1 is adapted to determine a radiance at the considered point in the considered direction (which consists in a light flux density per unit solid angle per unit area), for a quantity of radiance being either emitted from the considered surface or passing through it. In particular implementations, the device 1 is also adapted to determine a spectral radiance (radiance per frequency or wavelength).


Anyway, in a preferred version, the device 1 is also configured for processing multiple surface points and view directions, advantageously at least in part in parallel. Particular embodiments include GPU rendering systems, adapted to evaluate the radiance of glossy surfaces illuminated by area lights. More specifically, the device 1 is then advantageously implemented in a programmable rendering pipeline, either in a fragment shader (in charge of processing fragments generated by a rasterizer) or alternatively in a computing kernel involving any language with GPU parallel computing capabilities, such as notably Compute Shader, CUDA (Compute Unified Device Architecture) or OpenCL (Open Computing Language). Particular embodiments include production renderers and games engines. The device 1 is further advantageously exploited for real-time rendering and/or with soft shadow techniques based on shadow silhouette casting.


In addition, in specific implementations, the device 1 is adapted for computing a luminance (luminous intensity per unit area of light traveling in a particular direction, which takes into account a luminosity function pertaining to the sensitivity of a human eye to different wavelengths).


The device 1 is advantageously an apparatus, or a physical part of an apparatus, designed, configured and/or adapted for performing the mentioned functions and produce the mentioned effects or results. In alternative implementations, the device 1 is embodied as a set of apparatus or physical parts of apparatus, whether grouped in a same machine or in different, possibly remote, machines.


In all what follows, the modules are to be understood as functional entities rather than material, physically distinct, components. They can consequently be embodied either as grouped together in a same tangible and concrete component, or distributed into several such components. Also, each of those modules is possibly itself shared between at least two physical components. In addition, the modules are implemented in hardware, software, firmware, or any mixed form thereof as well. They are preferably embodied within at least one processor of the device 1.


The device 1 comprises a core module 11 in charge of computing local radiation, which corresponds to a glossy part of a radiation emitted at the considered point towards the considered direction. It further includes a module 12 for iteration on light sources, enabling the module 11 to combine the effects of several light sources illuminating the considered surface. The device 1 is adapted to process the relevant light sources so that at least one of them is an area light source.


In addition, a module 13 is directed to specifying the approximation method(s) exploited in estimating the glossy part of the radiation. Those approximation methods prove determining in computing the glossy part in a potentially efficient and accurate way, as will be developed below. Some features of those methods are advantageously pre-recorded in the device 1 or in a related storage means (not represented), the module 13 being in charge of retrieving the appropriate corresponding information. In particular, default selections are preferably available to users.


Also, the module 13 allows preferably the user to enter information on the selected approximation methods, via a user interface 14 interacting with the device 1. That information can include notably appropriate parameters and/or types of approximation functions.


The user interface 14 includes any means appropriate for entering or retrieving data, information or instructions, notably visual, tactile and/or audio capacities that can encompass any or several of the following means as well known by a person skilled in the art: a screen, a keyboard, a trackball, a touchpad, a touchscreen, a loudspeaker, a voice recognition system.


The device 1 is adapted to be fed with scene data from storage resources 20. Alternatively or complementarily, the device 1 is configured for receiving scene data from other devices or parts of devices, advantageously in real time. Those scene data include information on geometry (e.g. objects and light sources shapes, sizes and positions in a 3D scene, including with respect to viewpoints, depth maps and/or shadow maps), on light properties of materials (e.g. translucent objects, specular or diffusion surfaces, reflectance values, kinds of light behaviour representations) and on lighting conditions (e.g. kinds of light sources, considered as punctual or as area sources, lighting intensities). The device 1 is preferably configured for being able to process such data when the latter vary dynamically in time.


The storage resources 20 can be available from any kind of appropriate storage means, which can be notably a RAM (Random Access Memory) or an EEPROM (Electrically-Erasable Programmable Read-Only Memory) such as a Flash memory, possibly within an SSD (Solid-State Disk).


As illustrated on FIG. 2, the module 11 dedicated to computing local radiation comprises itself several modules including:

    • a module 111 for iterating computations on light source edges for the considered light source specified from the iteration module 12;
    • a module 112 for computing parameters appropriate to determine an exact expression corresponding to a targeted measure of the considered glossy part of radiation;
    • a module 113 for extracting parameters from the exact expression obtained from the module 112;
    • a module 114 for computing parameters dedicated to approximation functions;
    • a module 115 for computing an approximation of the local radiation, based on the parameters obtained from the upstream modules 112 to 114;
    • a module 116 for summing the computed contribution to the local radiation, both with respect to the light source edges iterated by means of module 111 and to the light sources iterated by module 12.


The operations of the device 1 will be made clearer through specific description below of particularly attractive implementations, applied to light reflection.


The physical situation and its representation are clarified on FIG. 3 for a particular surface point 101 noted M lying on an object lighted by an area light source 21 having a light source surface A. That object has a surface at point M which is normal to a unit vector {right arrow over (ν)}. The considered point M may notably correspond to a fragment processed in a rendering pipeline.


The source surface A is bounded by edges 210 forming a polygonal shape—a rectangle on the represented example. Though the device 1 could be applied to various shapes of light source surfaces, a representation by such a polygonal shape is preferred and possibly leads to particularly efficient and reliable computations in best implementations.


The directions from the light source 21 to the point M are given by an opposite unit vector {right arrow over (ωi)} (“i” for “incoming”), running towards the source surface A. Also, a unit hemisphere 103 is defined around point M and normal vector {right arrow over (σ)}. The source surface A is projected onto that hemisphere 103 into a spherical projection associated with a solid angle Ω(A)—since surface A is a polygon, its spherical projection is a spherical polygon, the edges of which are great arcs (i.e. segments of great circles). Radiance of the light source 21 at point M (from light surface A) from direction {right arrow over (ωi)} is noted LA (M, {right arrow over (ωi)}).


A viewing direction towards an observer 102 is defined through a unit vector {right arrow over (ωo)} (“o” for “outgoing”). Therefrom, a unit vector {right arrow over (r)} is considered, which represents the reflection of the viewing direction {right arrow over (ωo)} against a tangent plane corresponding to the surface at point M. Namely, vector {right arrow over (r)} is derived from vector {right arrow over (ωo)} by an application of the Householder matrix [I−2{right arrow over (ν)}{right arrow over (ν)}T], where I is the identity matrix and “T” designates a transposition.


The reflectance properties of the lightened surface at point M, depending on the surface material, are represented by a BRDF function (bidirectional reflection distribution function) noted fr (M, {right arrow over (ωi)}, {right arrow over (ωo)}). As well known to a person skilled in the art, a BRDF function relates radiance incident at a point on a surface to radiance reflected from that point. The radiance L(M,{right arrow over (ωo)}) scattered at point M towards observer 102 (color perceived by the eye) is then defined by a hemispherical integral over the solid angle Ω(A) sustained by the light source surface A:

L(M,{right arrow over (ωo)})=∫Ω(A)LA(M,{right arrow over (ωi)})fr(M,{right arrow over (ωi)},{right arrow over (ωo)})({right arrow over (ωι)},{right arrow over (ν)})i  (1)

where dωi represents a differential variation of the solid angle.


In the present examples and for sake of illustration, the BRDF function is given by a Phong distribution model, which provides a common way of representation. As familiar to a skilled person, the radiance is then split up into an ambient component, which accounts for incident light not coming directly from a light source, a diffuse component and a specular component. That local shading model can be replaced by a more sophisticated one, in which the ambient term is turned to a component taking interactions between objects into consideration (global shading model).


In the following, only the specular component will be considered, since it is relevant to the glossy (or specular) part of the radiation reflected by the surface. In particular situations, the considered surface is itself glossy (or nearly specular), so that the radiation is identified with its glossy part for the computations. The glossy component of the representation accounts for the fact that the considered surface is not perfectly smooth, so that reflection of light does not obey Snell's law. Instead, the related reflected light has a distribution about a preferred direction of specularly reflected light. The concentration of that distribution is expressed by the shininess coefficient n, also called Phong or specular-reflection exponent, controlling the glossiness.


By noting ρs a specular reflectivity, which provides a ratio of reflection of the specular term of incoming light, and supposing that this term is constant at point M (at least for a given color channel) as usually done in the Phong model, two representations are notably relevant to the glossy part:











f

r





1




(

M
,


ω
ι



,


ω
o




)


=



ρ
s



(
M
)





n
+
1


2

π






(



ω
ι



·

r



)

n


(



ω
ι



·

v



)







(
2
)








f

r





2




(

M
,


ω
ι



,


ω
o




)


=



ρ
s



(
M
)





n
+
2


2

π





(



ω
i



·

r



)

n






(
3
)








The first of those representations, corresponding to equation (2), is relevant to a one-axis moment Phong distribution model and is described notably by Robert R. Lewis in “Making shaders more physically plausible”, in Fourth Eurographics Workshop on Rendering, pp. 47-62, 1994. The second representation, associated with equation (3), is relevant to a double-axis moment and is described notably by Eric P. Lafortune and Yves D. Willems in “Using the modified Phong reflectance model for physically based rendering”, Technical Report RP-CW-197, 1994.


In the following, the first representation (equation (2)) will be adopted for developments, though in particular embodiments, the device 1 is also or instead configured for the second representation (equation (3)).


More generally, in variant implementations, the device 1 is also (or instead) adapted to other BRDF representations of the specular component than Phong distribution models. This applies particularly to a radiation having a distribution behavior around an oriented axis, which is controlled by a cosine function raised by a shininess coefficient n, the cosine being given by the angle between the oriented axis and a viewing direction.


The functionalities and working of device 1 are made clearer through the mathematical considerations below, given in relation with FIGS. 3 and 4. Namely, the light source surface A being polygonal and having m edges 210, the 2D surface integral of equation (1) can be expressed as a summation of a 1D contour integral around the edges 210. This is based on the Stokes theorem and on the developments by Arvo in the above-cited PhD thesis and article.


Accordingly, for each of the oriented m edges 210, such as UjUj+1, a unit vector {right arrow over (s)} can be defined, pointing from point M to a first vertex Uj of edge UjUj+1, as well as a unit vector {right arrow over (t)}, orthogonal to vector {right arrow over (s)} and in the plane of the edge UjUj+1, so that ({right arrow over (s)},{right arrow over (t)}) constitutes an orthonormal basis. This is used for defining for edge UjUj+1, the parameters (keeping in mind that {right arrow over (s)} and {right arrow over (t)} depend on the considered edge 210):











a
j

=


r


·

s




,


b
j

=


r


·

t




,


c
j

=



a
j
2

+

b
j
2




,


δ
j

=

arctan


(


b
j


a
j


)







(
4
)







Further, an edge aperture Φj is defined as the angle opening corresponding to edge UjUj+1, as projected onto a hemisphere 104 around point M and direction {right arrow over (r)}. Also, unit normal vectors {right arrow over (nj)} are defined as normal and external to the boundary of source surface A, i.e. to the edges 210, and tangent to the hemisphere 104.


The module 111 is responsible for the iteration on the edges 210, while module 112 is in charge of computing parameters aj, bj, cj and δj from formulae (4).


Following Arvo's developments cited above, the radiance LA (M,{right arrow over (ωi)}) of the light source 21 at point M being represented as independent of direction {right arrow over (ωi)} (and noted LA(M) for sake of convenience)—which amounts to considering it as constant over the light source, the radiance L(M,{right arrow over (ωo)}) is given for the first BRDF Phong representation associated with equation (2) by:










L


(

M
,


ω
o




)


=





ρ
s



(
M
)





L
A



(
M
)




2

π




{








j
=
1

m




(



n
j



·

r



)



F


(


Φ
j

,

a
j

,

b
j

,

n
-
1


)







if





n





odd







Ω


(
A
)


+




j
=
1

m




(



n
j



·

r



)



F


(


Φ
j

,

a
j

,

b
j

,

n
-
1


)








if





n





even













with


:








(
5
)












F


(

x
,
a
,
b
,
n

)


=

{







k
=
0



n
-
1

2






0
x





(


a





cos





φ

+

b





sin





φ


)



2

k

+
1



d





φ






if





n





odd









k
=
0


n
2






0
x





(


a





cos





φ

+

b





sin





φ


)


2

k



d





φ






if





n





even










(
6
)







Following the harmonic addition theorem, the trigonometric expressions can be simplified as:

a cos φ+b sin φ=c cos(φ−δ)  (7)

giving:
















F


(

x
,
a
,
b
,
n

)


=

G


(

x
,
c
,
δ
,
n

)










G


(

x
,
c
,
δ
,
n

)


=

{







k
=
0



n
-
1

2






0
x






c


2

k

+
1




(

cos


(

ϕ
-
δ

)


)




2

k

+
1



d





ϕ






if





n





odd









k
=
0


n
2






0
x






c


2

k









(

cos


(

ϕ
-
δ

)


)



2

k



d





ϕ






if





n





even











(
8
)







For sake of conciseness, a function f (ϕ, c, n) and a parameter q are introduced so that:










f


(

ϕ
,
c
,
n

)


=

{






c





cos





ϕ




if





n





odd





1.0



if





n





even









q

=

{





n
-
1

2




if





n





odd






n
2




if





n





even











(
9
)








Noting that the sum operator and integral can be inverted in formulae (8), and that geometric series are thereby obtained, the function G is worth:







G


(

x
,
c
,
δ
,
n

)


=



0
x




f


(


ϕ
-
δ

,
c
,
n

)







(

c





cos






(

ϕ
-
δ

)


)



2

q

+
2


-
1



(

c






cos


(

ϕ
-
δ

)



)


2
-
1




d





φ







By moving δ in the integration range, function G can thus be written:

G(x,c,δ,n)=∫−δx−δI(φ,c,n)  (10)

with the integrand:










I


(

ϕ
,
c
,
n

)


=




(

c





cos





ϕ

)


n
+
2


-

f


(

ϕ
,
c
,
n

)






(

c





cos





ϕ

)

2

-
1






(
11
)







The integrand function I is approximated as described below, thanks to dedicated peak-shape functions having known antiderivatives. In best implementations, integrand I can thereby be evaluated with high accuracy and subject to few parameterization operations.


That function is represented on FIGS. 5A and 5B for different values of parameters c and n, curves 611 on FIG. 5A and curves 612 on FIG. 5B corresponding respectively to even and odd values of Phong exponent n. More precisely, for n even (FIG. 5A), the curves 611 noted CE1, CE2, CE3, CE4 and CE5 are respectively associated with the following values of parameters c and n:


(0.99; 500), (0.95; 200), (0.9; 50), (0.7; 100), (0.5; 500)


Likewise, for n odd (FIG. 5B), the curves 612, noted CO1 to CO5, are respectively associated with the following values of parameters c and n:


(0.99; 501), (0.95; 201), (0.9; 51), (0.7; 101), (0.5; 501)


As apparent on the figures, the curves 611 and 612 have a peak shape with upper values 613 (for even n) and 614 (for odd n). For example, the upper value 613 for curve CE1 is sCE1, while the upper value 614 for curve CO1 is sCO1. Also, they have a lower value 615 equal to 1 for even n, and a lower value 616 equal to 0 for odd n, those minimum levels being reached for ϕ being equal to ±π/2. Therefore, the integrand function I corresponds to peak functions with variable scale and width depending on parameters c and n.


A new parameter is computed on this ground, by the module 113 of device 1: the maximum of the function, reached at ϕ=0 and noted s.


Parameter s is given by:









s
=

{






c

n
+
2


-
c



c
2

-
1





if





n





odd








c

n
+
2


-
1



c
2

-
1





if





n





even









(
12
)







From the knowledge of s, normalized functions noted Ī can be induced from the integrand function I, ranging between 0 and 1, as illustrated on FIGS. 6A and 6B. Those are obtained by preliminarily shifting down the integrand function I for even n, and by dividing it by parameter s (scaling) for even and odd values of n. Thereby, curves 621 and 622 are respectively obtained for even n (FIG. 6A) and odd n (FIG. 6B), with curves 621 noted CE1 to CE5 corresponding respectively to curves CE1 to CE5, and curves 622 noted CO1 to CO5 corresponding respectively to curves CO1 to CO5.


Another additional parameter computed by the module 113 is the half-width xω, for which the integrand function I is worth half of its maximum value s. The values of half-width xω, for even n (FIG. 5A) and odd n (FIG. 5B), are given by the positive value of ϕ for which the integrand function I is worth half its maximum value s.


The equation I (ϕ,c,n)=s/2 having no analytical solution, the value of parameter xω is approximated in the present exemplary implementation by formulae giving approximating values custom character as follows:













(

c
,
n

)


=

{





π
3




1
-


(

c
-

c
n


)

2







if





n





odd







π
4




(

1
-


(

c
-

c

n
-
1



)

2.5


)

0.45





if





n





even









(
13
)







The relevance of that approximation proves to rely on the ellipse shape of the half width parameter xω when n tends to infinity, with xω converging to respectively π/3 and π/4 for n odd and even when c tends to 0, and xω converging to 0 when c tends to 1 and n to infinity.


As illustrated on FIGS. 7A and 7B, showing curves 711 and 712 that give parameters xω in function of parameter c for respectively n even and odd, the approximated values custom character prove relatively satisfying. More precisely, considering the curves 711 noted HE1, HE2 and HE3 associated respectively with values 4, 8 and 500 of parameter n for xω, corresponding respective curves 713 noted custom character, custom character and custom character are represented (dashed lines) for the approximated values custom character. Similarly, for the curves 712 noted HO1, HO2 and HO3 associated respectively with values 3, 9 and 501 of parameter n, corresponding curves 714 noted custom character, custom character and custom character are represented for the approximated values custom character. As visible on FIGS. 7A and 7B, the approximation is quite accurate for high values of n exponent and average for low values.


Advantageously, however, a low precision estimation is considered as sufficient for the latter, while a high level of accuracy is applied for the former. Indeed, for low values of n, smooth peak curves with large width are obtained, so that small variations of xω correspond to small variations of integrand function I. By contrast, for high values of n, the slope becomes very high and a small variation of xω can possibly correspond to a huge variation of integrand function I.


Those computed parameters c, s and xω are used for specifying appropriate peak-shape functions, which are exploited for constructing an approximation Ĩ(ϕ,c,n) of the integrand function I(ϕ,c,n) as explained hereinafter. The peak-shape functions, which like I have dependencies on ϕ, c and n, are in a generic way noted P (ϕ,c,n).


The peak-shape functions are determined through the combination of an upstream selection of the approximation method by the specification module 13 (including the kind of functions, possibly some key parameters and the way of exploiting them), and through computations by the computation module 114 of current parameters that depend on the specific configuration situation (geometry, light behavior of lightened surfaces, positioning of the considered point with respect to the considered area source lights, viewing direction . . . ).


Two families of implementations with peak-shape functions are described below for sake of illustration: a sophisticated one and a simpler one. The choice between both relies on a trade-off between computation costs and estimation accuracy. Preferably, the device 1 is adapted to execute any of them, depending on user choices. In what follows, the considered functions are symmetric.


For the sophisticated implementations, a triple peak-shape function Q (ϕ,c,n) is derived from a single normalized peak-shape function P (ϕ,c,n) so as to be used in the approximations. That triple peak-shape function Q (ϕ,c,n) is obtained by constructing a linear function of the same peak-shape function P (ϕ,c,n) taken as such, π-downward translated to P (ϕ+π,c,n) and π-upwards translated to P (ϕ−π,c,n), the considered angle interval remaining bounded by −π/2 and π/2 (though the domain of definition is broader, and possibly unbounded). Rather surprisingly, a particularly efficient approximation function is thereby made available.


More precisely, a particularly efficient combination is determined by considering the following triple peak-shape function Q (ϕ,c,n):










Q


(

ϕ
,
c
,
n

)


=

{





P


(

ϕ
,
c
,
n

)


-

P


(


ϕ
-
π

,
c
,
n

)


-

P


(


ϕ
+
π

,
c
,
n

)






if





n





odd







P


(

ϕ
,
c
,
n

)


+

P


(


ϕ
-
π

,
c
,
n

)


+

P


(


ϕ
+
π

,
c
,
n

)






if





n





even









(
14
)







The approximated integrand function Ĩ(ϕ,c,n) is then obtained from Q by the computations of a translation factor vShift(c,n) and a scaling factor sNorm(c,n)—together with an intermediary factor d(c,n). They are determined from the following formulae by the computation module 114, omitting c and n dependencies in the functions arguments for sake of conciseness:









vShift
=

{






-

P


(


3

π

2

)






if





n





odd







P


(


3

π

2

)


+

2


P


(

π
2

)







if





n





even









d

=

{






1
-

2


P


(
π
)



-
vShift




if





n





odd






1
+

2


P


(
π
)



-
vShift




if





n





even









sNorm

=

{




s
d




if





n





odd







s
-
1

d




if





n





even













(
15
)








The expression of approximated integrand Ĩ(ϕ,c,n) is then given in function of Q (ϕc,n) by:











I
~



(

ϕ
,
c
,
n

)


=

{





sNorm


(

c
,
n

)




(


Q


(

ϕ
,
c
,
n

)


-

vShift


(

c
,
n

)



)





if





n





odd








sNorm


(

c
,
n

)




(


Q


(

ϕ
,
c
,
n

)


-

vShift


(

c
,
n

)



)


+
1




if





n





even









(
16
)








As can be checked, thanks to the choices of sNorm and vShift, the relations below stand (omitting c and n dependencies in Ĩ arguments for sake of conciseness):

{tilde over (I)}(0)=s,Ĩ(±π/2)=0 for n odd, Ĩ(±π/2)=1 for n even.


Based on equations (10), (14) and (16), it can then be noted that an approximation {tilde over (G)}(x,c,δ,n) of G(x,c,δ,n) is given by (omitting c and n dependencies in the arguments of the right side for sake of conciseness):











G
~



(

x
,
c
,
δ
,
n

)


=

{




{

sNorm


(








-
δ


x
-
δ




P


(
φ
)



-





-
δ

-
π


x
-
δ
-
π




P


(
φ
)



-











-
δ

+
π


x
-
δ
+
π




P


(
φ
)



-

x
·
vShift





)


}




if





n





odd






{


sNorm


(








-
δ


x
-
δ




P


(
φ
)



+





-
δ

-
π


x
-
δ
-
π




P


(
φ
)



+











-
δ

+
π


x
-
δ
+
π




P


(
φ
)



-

x
·
vShift





)


+
x

}




if





n





even









(
17
)







According to the present implementations, the peak-functions P have a known antiderivative expression, which makes equation (17) particularly attractive for computations.


In a variant configuration, the upwards and downwards P translations are different from π, advantageously between 3π/4 and 3π/2, and preferably larger than π.


For the simpler family of implementations, a single normalized peak-shape function P (ϕ,c,n) is used in the approximations. Accordingly, the approximated integrand Ĩ(ϕ,c,n) is given by:











I
~



(

ϕ
,
c
,
n

)


=

{





sNorm


(

c
,
n

)




(


P


(

ϕ
,
c
,
n

)


-

vShift


(

c
,
n

)



)





if





n





odd








sNorm


(

c
,
n

)




(


P


(

ϕ
,
c
,
n

)


-

vShift


(

c
,
n

)



)


+
1




if





n





even









(
18
)








with (omitting c and n dependencies in arguments for sake of conciseness):










vShift
=

P


(


3

π

2

)



;

d
=

1
-
vShift


;

sNorm
=

{




s
d




if





n





odd







s
-
1

d




if





n





even










(
19
)







The selection and parameterization of appropriate normalized peak-shape functions P (ϕ,c,n) will now be developed, in relation with both sophisticated families and simpler families of implementations. In the following, even values of n exponent are considered, though similar processes apply to odd values.


In a first selection of the peak-shape functions P, those are Lorentzian functions PL, of the form:











P
L



(

ϕ
,
c
,
n

)


=

1

1
+


α


(

c
,
n

)




ϕ
2








(
20
)








where α is a parameter depending on c and n which specifies the function PL, determined by the computation module 114.


In an advantageous determination mode of PL, the value of I(ϕ,c,n) at half-width xω is equalized with the value of PL at a shifted abscissa with respect to xω. The offset, noted bias, enables to account for the operations (translation shifting, scaling, sum) applied to PL for constituting the approximated integrand Ĩ(ϕ,c,n)—formula (16) for the triple-peak function and (18) for the single-peak function. Namely:








P
L



(



x
ω

+
bias

,
c
,
n

)


=


I


(


x
ω

,
c
,
n

)


s






which leads to:










α


(

c
,
n

)


=


s
-

I


(


x
ω

,
c
,
n

)





I


(


x
ω

,
c
,
n

)


·


(


x
ω

+
bias

)

2







(
21
)







The value of bias differs depending on the selection of the triple-peak or single-peak formula. For the triple-peak (sophisticated solution), it appears appropriate to select the following value:










b

ias

=

0.1984


(

exp


(


1.7


(


(


4


x
ω


π

)

3

)


-
1

)








(
22
)








while for the single-peak solution, the following choice proves adequate:










b

ias

=

0.3225


(

exp


(


0.7


(


(


4


x
ω


π

)

3.1

)


-
1

)








(
23
)








The relevance of those empirical formulae for the bias factor is confirmed by experimental measurements.


As previously mentioned, a key aspect of the selected peak-shape functions consists in the knowledge of an analytical expression for their antiderivative. As regards the Lorentzian function of formula (20), this is given by (arguments c and n being omitted in functions for sake of conciseness):













P
L



(
ϕ
)



=


arctan


(


α

·
ϕ

)



α






(
24
)








which leads notably to the following:










-
δ


x
-
δ





P
L



(

ϕ
,
c
,
n

)



=


1

α




(

arctan


(



α







(

(

x
-
δ

)

)


-

arctan


(


α



(

-
δ

)


)



)









Having in mind that:








arctan


(
x
)


-

arctan


(
y
)



=


arctan


(


x
-
y


1
+
xy


)




[

mod





π

]







this leads to the following formula:













-
δ


x
-
δ





P
L



(
ϕ
)



=


1

α





arctan


(



α

.
x


1
+


α


(

-
δ

)




(

x
-
δ

)




)




[

mod





π

]







(
25
)







It deserves noting that formula (25) involves a limited number of computations of arc tangent function, which is costly and requires typically around 20 ALU (Arithmetic Logic Unit) instructions in a GPU. Notably, only three such arctan evaluations need to be executed for formula (17).


The approximated integrand Ĩ(ϕ,c,n) can then be computed by the module 115, based on the outputs of modules 112, 113 and 114.


According to a second selection of the normalized peak-shape functions P, those are a linear combination of Lorentzian functions PL and Pearson type VII functions parameterized with a predetermined number m, noted PPm. Such a Pearson-type function is defined by:











P
Pm



(

ϕ
,
c
,
n

)


=

1


(

1
+


β


(

c
,
n
,
m

)




ϕ
2



)

m






(
26
)








where β is a parameter depending on c, n and m, which specifies the function PPm, determined by the computation module 114.


More precisely, the linear combination of the peak-shape functions is an affine combination (i.e. a linear combination for which the sum of the related coefficients is 1). This amounts to having the approximated integrand Ĩ(ϕ,c,n) being an affine combination of the approximated integrands custom character(ϕ,c,n) and custom character (ϕ,c,n) corresponding respectively to the Lorentzian and Pearson peak-shape functions (though the coefficients are not the same for the peak-shape functions and the approximated integrands). That relation is given by:

{tilde over (I)}(ϕ,c,n)=μcustom character (ϕ,c,n)+(1−μ)PPmcustom character(ϕ,c,n)  (27)

with coefficient μ being comprised between 0 and 1.


In a particular implementation, coefficient μ is computed from a further parameter derived from the integrand function I by the module 113 (in addition to the maximum value s and the half-width abscissa xω): the value I(xtail,c,n) taken by integrand I at a tail abscissa xtail. The latter is advantageously chosen as:

xtail=xω+0.3946(1−(1−xω)12)  (28)

Then, coefficient μ depends on c and n, and is obtained by module 114 by equalizing the values at xtail of the approximated integrand Ĩ and the integrand I. This leads to the following value:










μ


(

c
,
n

)


=





(


x
tail

,
c
,
n

)


-

I


(


x
tail

,
c
,
n

)







(


x
tail

,
c
,
n

)


-



(


x
tail

,
c
,
n

)








(
29
)







That choice proves particularly appropriate in efficient implementations, which can be explained by the fact that in the tail of the integrand, the Lorentzian approximation tends to an overestimation while the Pearson approximation tends by contrast to an underestimation. The present weighting therefore provides a relative balance between both.


In a similar way as for the Lorentzian function, the parameter β is computed by the module 114 by using the approximated half-width abscissa xω, as well as an offset biasm, which depends on c, n and m:












P
Pm



(



x
ω

+

bias
m


,
c
,
n

)


=


I


(


x
ω

,
c
,
n

)


s








so





that


:









β


(

c
,
n
,
m

)


=


s
-


I


(


x
ω

,
c
,
n

)


m





I


(


x
ω

,
c
,
n

)


m

·


(


x
ω

+
bias

)

2








(
30
)







Two particular values of parameter m in the Pearson function provide advantageous embodiments: 1.5 and 2. For both of them, relatively simple antiderivatives expressions are known (arguments c and n being omitted in the functions for sake of conciseness):













P

P





1.5




(
ϕ
)



=

ϕ



βϕ
2

+
1







(
31
)










P

P





2




(
ϕ
)



=


1
2



(


ϕ



βϕ
2

+
1



+


arctan


(

βϕ

)



β



)






(
32
)








The integral for m=1.5 is simpler to evaluate, while the integral for m=2 provides slightly more accurate estimations of the radiance.


Like for the Lorentzian function, the value of biasm depends on the selection of the triple-peak or single-peak formula. For the triple-peak (sophisticated solution), it appears appropriate to select the following values:










bias
1.5

=

0.1047


(

exp


(


2.1


(


(


4


x
ω


π

)

3.4

)


-
1

)








(
33
)







bias
2

=

0.0963


(

exp


(


2.1


(


(


4


x
ω


π

)

4

)


-
1

)








(
34
)








and for the single-peak (simpler solution):










bias
1.5

=

0.3391


(

exp


(


0.5


(


(


4


x
ω


π

)

3.9

)


-
1

)








(
35
)







bias
2

=

0.3497


(

exp


(


0.4


(


(


4


x
ω


π

)

4.5

)


-
1

)








(
36
)







In efficient implementations, the approximate integrand function as computed above proves globally very close to the effective integrand function (represented on FIGS. 5A and 5B), especially for Phong exponents n larger than 50. For sake of example, the relative error E obtained for the combined Lorentzian-Pearson functions with m being worth 2 and the single peak-shape method is represented on FIG. 8 for various values of c and n. The corresponding plotted curves 631, noted Cε1 to Cε5, are respectively associated with the following (c,n) pairs:


(0.9; 50), (0.7;100), (0.95;200), (0.5;500), (0.999;500)


Though the first representation of the Phong model expressed in equation (2) has been adopted in the presentation above, similar operations can be applied to the second representation of equation (3). In particular, Arvo's developments cited above lead to appropriate boundary integrals for double-axis moments of A with respect to {right arrow over (r)} (n-power) and {right arrow over (ν)} (1-power)—which amounts to the combination of two single-axis moments. In compliance with the present disclosure, solutions similar to those laid out in the present disclosure are then implemented.


In operation, as illustrated on FIGS. 9A, 9B and 9C, the device 1 proceeds preferably as follows in a rendering operation. Exploited inputs include geometrical data 201 and light property data 202 extracted from the storage resources 20 and peak-shape functions data 25 provided by user selections or default options. The latter data 25 comprise the type of used peak-shape function(s), such as notably Lorentzian or combined Lorentzian-Person, the corresponding associated parameters, such as m for a Pearson function, and the way of exploitation, such as the triple-peak or single-peak method developed above.


A next pixel or view sample is considered at step 401—which is advantageously processed in parallel for various pixels. A next surface point M is also processed for the current pixel at step 402, in compliance with known rendering processes. The local radiance 31 at point M for the considered pixel, which is associated with a viewing direction, is then computed at step 41, as laid out above and summed up hereinafter. Further surface points (step 403) and further pixels (step 404) are dealt with until the whole set has been processed, and the complete rendering output is available (step 32), which is reiterated for moving images.


The step 41 of computation of local radiance includes more specifically the following operations (FIG. 9B). They are based on local geometrical data 211 and local light property data 212 (including notably the glossiness exponent n) that are derived from the geometrical data 201 and light property data 202 through the pending consideration of given surface point and viewing direction, and on the peak-shape functions data 25.


A next light source relevant to the current surface point is considered at step 411, and a next light source edge 412 of that light source is considered at step 412. The computation of local radiance contribution for that light source edge is then effected at step 42, and that contribution is summed to the other contributions (over the light source edges and light sources, for the pending surface point and viewing direction) at step 413. Those operations are effected until all edges of the current light source have been processed (step 414), and until all relevant light source have been considered (step 415). The local radiance 31 is thereby obtained.


More in detail regarding the computation of local radiance contribution for a given light source edge 213 (FIG. 9C), the following steps are performed:

    • at step 421, parameters are computed in relation with an exact expression of the radiance; those include the edge aperture ϕj, parameters a, b and then c, δ, as developed above;
    • at step 422, parameters are extracted from the exact expression; those include the maximum value s, the estimated half-width xω, and related integrand value I(xω) and if a combination Lorentzian-Pearson function is exploited, the tail abscissa xtail and related integrand value I(xtail);
    • at step 423, appropriate parameters are computed for specifying the exploited peak-shape functions and induced approximated integrands; in the presently disclosed advantageous implementations, those can include any relevant values among parameters α, β, μ, bias, biasm, custom character(xtail,c,n), custom character(xtail,c,n), as well as sNorm and vShift;
    • at step 424, the local radiance contribution 310 is computed, by means of formulae derived from analytical expressions of the antiderivatives of the exploited peak-shape functions.


In test comparisons with a recurrence method giving reference results (which correspond to an exact solution), timing and error measurements (Root Mean Square Error) show that solutions presently disclosed outperform the recurrence method in many scenarios, especially for Phong exponents n larger than 50. The combination of a single Lorentzian and Pearson function proves to offer a particularly good compromise in terms of computation efficiency and visual quality, with few noticeable differences.


A particular apparatus 5, visible on FIG. 10, is embodying the device 1 described above. It corresponds for example to a personal computer (PC), a laptop, a tablet, a smartphone or a games console—such as a specialized games console producing and displaying images live. The apparatus 5 comprises the following elements, connected to each other by a bus 55 of addresses and data that also transports a clock signal:

    • a microprocessor 51 (or CPU);
    • a graphics card 52 comprising several Graphical Processor Units (or GPUs) 520 and a Graphical Random Access Memory (GRAM) 521;
    • a non-volatile memory of ROM (Read Only Memory) type 56;
    • a Random Access Memory or RAM 57;
    • one or several I/O (Input/Output) devices 54 such as for example a keyboard, a mouse, a joystick, a webcam; other modes for introduction of commands such as for example vocal recognition are also possible;
    • a power source 58; and
    • a radiofrequency unit 59.


The apparatus 5 also comprises a display device 53 of display screen type directly connected to the graphics card 52 to display synthesized images calculated and composed in the graphics card, for example live. The use of a dedicated bus to connect the display device 53 to the graphics card 52 offers the advantage of having much greater data transmission bitrates and thus reducing the latency time for the displaying of images composed by the graphics card. According to a variant, a display device is external to apparatus 5 and is connected thereto by a cable or wirelessly for transmitting the display signals. The apparatus 5, for example the graphics card 52, comprises an interface for transmission or connection adapted to transmit a display signal to an external display means such as for example an LCD or plasma screen or a video-projector. In this respect, the RF unit 59 can be used for wireless transmissions.


It is noted that the word “register” used in the description of memories 521, 56, and 57 designates in each of the memories mentioned, both a memory zone of low capacity (some binary data) as well as a memory zone of large capacity (enabling a whole program to be stored or all or part of the data representative of data calculated or to be displayed). Also, the registers represented for GRAM 521 can be arranged and constituted in any manner, and each of them does not necessarily correspond to adjacent memory locations and can be distributed otherwise (which covers notably the situation in which one register includes several smaller registers).


When switched-on, the microprocessor 51 loads and executes the instructions of the program contained in the RAM 57.


The random access memory 57 comprises notably:

    • in a register 570, the operating program of the microprocessor 51 responsible for switching on the apparatus 5,
    • in a register 571, parameters representative of the scene (for example modelling parameters of the object(s) of the scene, lighting parameters of the scene);
    • in a register 572, peak-shape functions data exploited for estimating the radiations.


The algorithms implementing the steps of the method specific to the present disclosure and described above are stored in the memory GRAM 521 of the graphics card 52 associated with the apparatus 5 implementing those steps. When switched on and once the parameters 571 and 572 representative of the environment and peak-shape functions data are loaded into the RAM 57, the graphic processors 520 of graphics card 52 load those parameters into the GRAM 521 and execute the instructions of those algorithms in the form of microprograms of “shader” type using HLSL (High Level Shader Language) language or GLSL (OpenGL Shading Language) for example.


The random access memory GRAM 521 comprises notably:

    • in a register 5211, the parameters representative of the scene,
    • in a register 5212, the loaded peak-shape functions data,
    • in a register 5213, local radiance computed in the frame of the rendering operations.


According to a variant, at least some of the data pertaining to primitives are stored in the RAM 57 and processed by the microprocessor 51. This variant however causes greater latency time in the composition of an image comprising a representation of the environment composed from microprograms contained in the GPUs 520 as the data must be transmitted from the graphics card to the random access memory 57 passing by the bus 55, for which the transmission capacities are generally inferior to those available in the graphics card for transmission of data from the GPUs 520 to the GRAM 521 and vice-versa.


According to another variant, the power supply 58 is external to the apparatus 1.


Naturally, the present disclosure is not limited to the embodiments previously described.


In particular, the present disclosure extends to any device implementing the described method for determining (or estimating) a glossy part of a radiation. The implementations described herein may take the form of, for example, a method or a process, an apparatus, a software program, a data stream, or a signal. Even if only discussed in the context of a single kind of implementation (for example, discussed only as a method or a device), the implementation of features discussed may also be implemented in other kinds (for example a program).


An apparatus may be implemented in, for example, appropriate hardware, software, and firmware. A relevant apparatus may include a web server, a set-top box, a laptop, a personal computer, a cell phone, a PDA, and other communication devices. As should be clear, the equipment may be mobile and even installed in a mobile vehicle.


The methods may be implemented in an apparatus such as, for example, a processor, which refers to processing devices in general, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. Additionally, they may be implemented by instructions being performed by a processor, and such instructions (and/or data values produced by an implementation) may be stored on a processor-readable medium such as, e.g., an integrated circuit, a software carrier or other storage device such as, e.g., a hard disk, a compact disc (“CD”), an optical disc (such as, for example, a DVD, often referred to as a digital versatile/video disc), a RAM or a ROM. Instructions may form an application program tangibly embodied on a processor-readable medium. They may be, for example, in hardware, firmware, software, or a combination.


A processor may be characterized as, for example, both a device configured to carry out a process and a device that includes a processor-readable medium (such as a storage device) having instructions for carrying out a process. Further, a processor-readable medium may store, in addition to or in lieu of instructions, data values produced by an implementation.


As will be evident to one of skill in the art, implementations may produce a variety of signals formatted to carry information that may be, for example, stored or transmitted. The information may include, for example, instructions for performing a method, or data produced by one of the described implementations. Such signals may be formatted, for example, as an electromagnetic wave (for example, using a radio frequency portion of spectrum) or as a baseband signal. The formatting may include, for example, encoding a data stream and modulating a carrier with the encoded data stream. The information that the signals carry may be, for example, analog or digital information. The signals may be transmitted over a variety of different wired or wireless links, and may be stored on a processor-readable medium.


A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. For example, elements of different implementations may be combined, supplemented, modified, or removed to produce other implementations. Additionally, one of ordinary skill will understand that other structures and processes may be substituted for those disclosed and the resulting implementations will perform at least substantially the same function(s), in at least substantially the same way(s), to achieve at least substantially the same result(s) as the implementations disclosed. Accordingly, these and other implementations are contemplated by this application.

Claims
  • 1. A device for processing and rendering scene data wherein the scene data include data for determining a glossy part of a radiation coming from a surface illuminated by at least one area light source having at least one polygonal source surface bounded by light edge curves, said light edge curves being straight lines, said device comprising at least one processor configured to: for each of said light edge curves, determine at least one integrand function representative of a contribution of said light edge curve to said glossy part, said integrand function being based on a Phong reflection model,for each of said light edge curves, approximate said at least one determined integrand function using at least one peak-shape function having a known antiderivative,determine said glossy part from the known antiderivatives of each of said peak-shape functions along said edge curves, said glossy part corresponding to a summation of integrations of each of said integrand functions along each of said light edge curves,wherein said radiation is scattered at a point towards an observer and is defined by a hemispherical integral over a solid angle sustained by said at least one polygonal source surface, and said at least one peak-shape function comprises an affine combination of a Lorentzian function and a Pearson function, and in that said integrand function having a tail value at a tail abscissa, said at least one processor is configured to determine said affine combination by using parameters representative of said tail value and said tail abscissa, andoutput and render pixels of an image associated with said glossy part.
  • 2. The device according to claim 1, wherein said at least one processor is configured to determine said glossy part when said glossy part is reflected by said illuminated surface.
  • 3. The device according to claim 2, wherein said glossy part corresponds to a specular term of the Phong reflection model.
  • 4. The device according to claim 1, wherein said at least one processor is configured to determine said glossy part coming from points of said illuminated surface, and said at least one integrand function depends on the positioning of said points with respect to said edge curves and on viewing directions with regard to said points.
  • 5. The device according to claim 1, wherein said at least one integrand function having a maximal height at a peak abscissa and having a floor value at side abscissas, said at least one processor is configured to determine said integrand function by using parameters representative of said maximal height, peak abscissa, floor value and side abscissas.
  • 6. The device according to claim 1, wherein said at least one integrand function having a maximal height and reaching a predefined ratio of said maximal height at a width abscissa, said at least one processor is configured to determine said integrand function by using parameters representative of said maximal height and width abscissa.
  • 7. The device according to claim 6, wherein said at least one peak-shape function being parameterized with at least one adjustment parameter, said at least one processor is configured to determine said at least one adjustment parameter by using said parameters representative of said maximal height and width abscissa.
  • 8. The device according to claim 1, wherein said at least one processor is configured to determine said integrand function by using a linear combination of said at least one peak-shape function in an untranslated form, in a rightward translated form, and in a leftward translated form.
  • 9. The device according to claim 1, wherein said at least one peak-shape function comprises at least one of a Lorentzian function and a Pearson function.
  • 10. The device according to claim 9, wherein said at least one peak-shape function comprises an affine combination of a Lorentzian function and a Pearson function, and in that said integrand function having a tail value at a tail abscissa, said at least one processor is configured to determine said affine combination by using parameters representative of said tail value and tail abscissa.
  • 11. The device according to claim 1, wherein said device comprises a programmable rendering pipeline adapted to compute said glossy part.
  • 12. A method for processing and rendering scene data wherein the scene data include data for determining a glossy part of a radiation coming from a surface illuminated by at least one area light source having at least one polygonal source surface bounded by light edge curves, said light edge curves being straight lines, wherein said method comprises: for each of said light edge curves, determining at least one integrand function representative of a contribution of said light edge curve to said glossy part, said integrand function being based on a Phong reflection model, said glossy part corresponding to a summation of integrations of said integrand functions along said light edge curves,for each light edge curve, approximating each of said determined at least one integrand function using at least one peak-shape function having a known antiderivative,determining said glossy part from the known antiderivatives of each of said peak-shape functions, said glossy part corresponding to a summation of integrations of said determined integrand functions along said light edge curves,wherein said radiation is scattered at a point towards an observer and is defined by a hemispherical integral over a solid angle sustained by said at least one polygonal source surface, and said at least one peak-shape function comprises an affine combination of a Lorentzian function and a Pearson function, and in that said integrand function having a tail value at a tail abscissa, said at least one processor is configured to determine said affine combination by using parameters representative of said tail value and said tail abscissa, andoutputting and rendering pixels of an image associated with said glossy part.
  • 13. The method according to claim 12, wherein said glossy part is determined when said glossy part is reflected by said illuminated surface.
  • 14. The method according to claim 13, wherein said glossy part corresponds to a specular term of the Phong reflection model.
  • 15. The method according to claim 12, wherein said glossy part is determined as coming from points of said illuminated surface, and said at least one integrand function depends on the positioning of said points with respect to said edge curves and on viewing directions with regard to said points.
  • 16. The method according to claim 12, wherein said at least one integrand function having a maximal height at a peak abscissa and having a floor value at side abscissas, said integrand function is determined by using parameters representative of said maximal height, peak abscissa, floor value and side abscissas.
  • 17. The method according to claim 12, wherein said at least one integrand function having a maximal height and reaching a predefined ratio of said maximal height at a width abscissa, said integrand function is determined by using parameters representative of said maximal height and width abscissa.
  • 18. The method according to claim 17, wherein said at least one peak-shape function being parameterized with at least one adjustment parameter, said at least one adjustment parameter is determined by using said parameters representative of said maximal height and width abscissa.
  • 19. The method according to claim 12, wherein said integrand function is determined by using a linear combination of said at least one peak-shape function in an untranslated form, in a rightward translated form, and in a leftward translated form.
  • 20. The method according to claim 12, wherein said at least one peak-shape function comprises at least one of a Lorentzian function and a Pearson function.
  • 21. The method according to claim 20, wherein said at least one peak-shape function comprises an affine combination of a Lorentzian function and a Pearson function, and in that said integrand function having a tail value at a tail abscissa, the method further comprising determining said affine combination by using parameters representative of said tail value and tail abscissa.
  • 22. A non-transitory processor readable medium having stored therein instructions for causing a processor to perform the method according to claim 12.
Priority Claims (1)
Number Date Country Kind
15305229 Feb 2015 EP regional
US Referenced Citations (238)
Number Name Date Kind
4318844 Kohler Mar 1982 A
4928250 Greenberg May 1990 A
5163126 Einkauf Nov 1992 A
5253339 Wells Oct 1993 A
5426506 Ellingson Jun 1995 A
5461549 Lietar Oct 1995 A
5473014 Ando Dec 1995 A
5488700 Glassner Jan 1996 A
5563989 Billyard Oct 1996 A
5659671 Tannenbaum Aug 1997 A
5704024 Voorhies Dec 1997 A
5739820 Lyon Apr 1998 A
5777620 Billyard Jul 1998 A
5870096 Anjyo Feb 1999 A
5966134 Arias Oct 1999 A
5990941 Jackson Nov 1999 A
6040835 Gibson Mar 2000 A
6157730 Roever Dec 2000 A
6166810 Nakayama Dec 2000 A
6175367 Parikh Jan 2001 B1
6226007 Brown May 2001 B1
6268860 Bonello Jul 2001 B1
6268871 Rice Jul 2001 B1
6320581 Browne Nov 2001 B1
6342885 Knittel Jan 2002 B1
6400842 Fukuda Jun 2002 B2
6529193 Herken Mar 2003 B1
6583790 Wolters Jun 2003 B1
6677942 Rushmeier Jan 2004 B1
6686921 Rushmeier Feb 2004 B1
6781594 Day Aug 2004 B2
6900805 Thornber May 2005 B2
7006684 Thornber Feb 2006 B2
7058217 Thornber Jun 2006 B2
7075534 Cole Jul 2006 B2
7079138 Day Jul 2006 B2
7091973 Cohen Aug 2006 B1
7119903 Jones Oct 2006 B1
7123257 Sawada Oct 2006 B2
7123259 Cabral Oct 2006 B2
7133052 Silva Nov 2006 B1
7277572 MacInnes Oct 2007 B2
7408550 Bunnell Aug 2008 B2
7508391 Birdwell Mar 2009 B2
7696995 McTaggart Apr 2010 B2
7773088 Keller Aug 2010 B2
7786993 Cerny Aug 2010 B2
8164593 Sun Apr 2012 B2
8164594 Watanabe Apr 2012 B2
8232993 Sun Jul 2012 B2
8294713 Amanieux Oct 2012 B1
8436855 Morgan May 2013 B1
8538183 d'Eon Sep 2013 B1
8587589 Collomb Nov 2013 B2
8638331 Jarosz Jan 2014 B1
8711171 Sano Apr 2014 B2
8803880 Zhou Aug 2014 B2
8805088 Mesolongitis Aug 2014 B1
9098945 Wang Aug 2015 B2
9153065 Collins Oct 2015 B2
9275477 Tokuyoshi Mar 2016 B2
9280848 Chen Mar 2016 B1
9489770 Iwamoto Nov 2016 B2
9508190 Zhang Nov 2016 B2
9509905 Gordon Nov 2016 B2
9619924 Spencer Apr 2017 B2
9626794 Tokuyoshi Apr 2017 B2
9638978 Brown May 2017 B2
9684975 Baker Jun 2017 B2
9818220 Schroecker Nov 2017 B2
9836876 Koylazov Dec 2017 B1
9905045 Hery Feb 2018 B1
10055882 Marin Aug 2018 B2
10229483 Doba Mar 2019 B2
10445607 Rephaeli Oct 2019 B2
20010040999 Fukuda Nov 2001 A1
20010045956 Hurley Nov 2001 A1
20020080136 Kouadio Jun 2002 A1
20020171826 Wiles Nov 2002 A1
20030011596 Zhang Jan 2003 A1
20030016539 Minano Jan 2003 A1
20030030639 Ritter Feb 2003 A1
20030052893 Sawada Mar 2003 A1
20030063793 Thornber Apr 2003 A1
20030104358 Polansky Jun 2003 A1
20030128207 Sawada Jul 2003 A1
20030234786 Cole Dec 2003 A1
20040002380 Brosnan Jan 2004 A1
20040041809 Thornber Mar 2004 A1
20040061700 Shioya Apr 2004 A1
20040086694 Ide May 2004 A1
20040109000 Chosokabe Jun 2004 A1
20040155879 Mittring Aug 2004 A1
20040169648 Sawada Sep 2004 A1
20040189654 Cabral Sep 2004 A1
20040251418 Gunter Dec 2004 A1
20050003341 Polansky Jan 2005 A1
20050012757 Park Jan 2005 A1
20050212794 Furukawa Sep 2005 A1
20050255458 Polansky Nov 2005 A1
20050264564 Keller Dec 2005 A1
20060082778 Paldus Apr 2006 A1
20060132486 Kim Jun 2006 A1
20060146061 Keller Jul 2006 A1
20060274065 Buyanovskiy Dec 2006 A1
20070002047 Desgranges Jan 2007 A1
20070008310 Hahn Jan 2007 A1
20070018996 Wang Jan 2007 A1
20070046686 Keller Mar 2007 A1
20070273686 Watanabe Nov 2007 A1
20070299639 Weese Dec 2007 A1
20080016137 Sun Jan 2008 A1
20080018647 Bunnell Jan 2008 A1
20080029697 Willis Feb 2008 A1
20080231729 Sato Sep 2008 A1
20090006044 Zhou Jan 2009 A1
20090006046 Zhou Jan 2009 A1
20090006047 Zhou Jan 2009 A1
20090006051 Zhou Jan 2009 A1
20090006052 Zhou Jan 2009 A1
20090027390 Bin Zafar Jan 2009 A1
20090167763 Waechter Jul 2009 A1
20090169096 Cipolla Jul 2009 A1
20090228245 Gilbert Sep 2009 A1
20090279807 Kanamorl Nov 2009 A1
20090303247 Zhang Dec 2009 A1
20100094601 Steenhoek Apr 2010 A1
20100103169 Zhang Apr 2010 A1
20100123784 Ding May 2010 A1
20100277477 Wang Nov 2010 A1
20110007333 Ishii Jan 2011 A1
20110027162 Steiner, III Feb 2011 A1
20110054804 Pfaff Mar 2011 A1
20110056836 Tatebe Mar 2011 A1
20110122135 Kim May 2011 A1
20110161035 Suzuki Jun 2011 A1
20110214993 Akana Sep 2011 A1
20110227922 Shim Sep 2011 A1
20110234621 Steenhoek Sep 2011 A1
20110250351 Steenhoek Oct 2011 A1
20110292669 Albou Dec 2011 A1
20110299063 Ninomiya Dec 2011 A1
20110304705 Kantor Dec 2011 A1
20110311107 Levesque Dec 2011 A1
20120086950 Sho Apr 2012 A1
20120207404 Robles-Kelly Aug 2012 A1
20120256923 Gautron Oct 2012 A1
20120300449 Fields Nov 2012 A1
20130016100 Bickel Jan 2013 A1
20130021359 Baker Jan 2013 A1
20130027511 Takemura Jan 2013 A1
20130066596 Papas Mar 2013 A1
20130089256 Tsukada Apr 2013 A1
20130120384 Jarosz May 2013 A1
20130127889 Winnemoeller May 2013 A1
20130141451 Child Jun 2013 A1
20130176313 Gautron Jul 2013 A1
20130193961 Wen Aug 2013 A1
20130251243 Shim Sep 2013 A1
20130268212 Makarov Oct 2013 A1
20130291746 Ikeda Nov 2013 A1
20130301908 Shim Nov 2013 A1
20130308183 Vermeirsch Nov 2013 A1
20130338935 Watanabe Dec 2013 A1
20130346041 Gautron Dec 2013 A1
20140023258 Imai Jan 2014 A1
20140092307 Fukuda Apr 2014 A1
20140152662 Nowrouzezahrai Jun 2014 A1
20140267274 Burley Sep 2014 A1
20140267275 Jarosz Sep 2014 A1
20140293263 Justice Oct 2014 A1
20140327673 Sousa Nov 2014 A1
20140327912 Kettler Nov 2014 A1
20140333729 Pflug Nov 2014 A1
20140362081 Cerny Dec 2014 A1
20140362102 Cerny Dec 2014 A1
20150015887 Tin Jan 2015 A1
20150024337 Blassnig Jan 2015 A1
20150042652 Keller Feb 2015 A1
20150117758 Chandraker Apr 2015 A1
20150172636 Gordon Jun 2015 A1
20150177833 Vennstrom Jun 2015 A1
20150178611 Hennebelle Jun 2015 A1
20150198716 Romano Jul 2015 A1
20150281663 Fukuda Oct 2015 A1
20150379162 MohammadBagher Dec 2015 A1
20160005217 Tokuyoshi Jan 2016 A1
20160049001 Anderson Feb 2016 A1
20160084819 Raunio Mar 2016 A1
20160100122 Nakajima Apr 2016 A1
20160136735 Matsuda May 2016 A1
20160157828 Sumi Jun 2016 A1
20160171754 Ahn Jun 2016 A1
20160210746 Matsuda Jul 2016 A1
20160210754 Ida Jul 2016 A1
20160284068 Rouh Sep 2016 A1
20160300376 Fuse Oct 2016 A1
20160307489 Nakajima Oct 2016 A1
20160313446 Fu Oct 2016 A1
20160314613 Nowozin Oct 2016 A1
20160314614 Bitterli Oct 2016 A1
20160330493 Chuah Nov 2016 A1
20160371568 Tin Dec 2016 A1
20170011496 Lu Jan 2017 A1
20170053433 Gautron Feb 2017 A1
20170082720 Robert Mar 2017 A1
20170099412 Shimada Apr 2017 A1
20170192406 Ashdown Jul 2017 A1
20170236325 Lecocq Aug 2017 A1
20170263046 Patney Sep 2017 A1
20170276476 Konno Sep 2017 A1
20170294042 Engel Oct 2017 A1
20170323474 Chien Nov 2017 A1
20170345208 Ashdown Nov 2017 A1
20180047208 Marin Feb 2018 A1
20180068196 Quentin Mar 2018 A1
20180068590 Mattausch Mar 2018 A1
20180122100 Totsuka May 2018 A1
20180137635 Tamaazousti May 2018 A1
20180150995 Kaneko May 2018 A1
20180225865 Lecocq Aug 2018 A1
20180238800 Lecocq Aug 2018 A1
20180239305 Shi Aug 2018 A1
20180247393 Ohga Aug 2018 A1
20180262666 Koga Sep 2018 A1
20180322628 Schroecker Nov 2018 A1
20180336691 Suzuki Nov 2018 A1
20180374260 Koylazov Dec 2018 A1
20190005711 Marin Jan 2019 A1
20190050971 Fukuda Feb 2019 A1
20190080509 Bianco Mar 2019 A1
20190130630 Ackerson May 2019 A1
20190139295 Nov K May 2019 A1
20190258899 Coogan Aug 2019 A1
20190287294 Liu Sep 2019 A1
20190304162 Bakalash Oct 2019 A1
20190304163 Bakalash Oct 2019 A1
20190325640 Jiddi Oct 2019 A1
Foreign Referenced Citations (2)
Number Date Country
91347419 Sep 2003 EP
H11203501 Jul 1999 JP
Non-Patent Literature Citations (26)
Entry
Oktatasi, Phong Reflection Model, Apr. 2, 2012, ftp://www.inflab.bme.hu/pub/oktatas/XNA%20programozas/Phong%20reflection%20model.pdf (Year: 2012).
Bikker, Infomagr—Advanced Graphics, http://www.cs.uu.nl/docs/vakken/magr/2016-2017/slides/lecture%2007%20-%20path%20tracing.pdf, Nov. 2016 (Year: 2016).
Lewis, Making Shaders More Physically Plausible, University of British Columbia Department of Computer Science, Mar. 4, 1993 (Year: 1993).
Lafortune et al., Using the Modified Phong Reflectance Model for Physically Based Rendering, Department of Computer Science, K.U. Leuven, Nov. 1994 (Year: 1994).
Ashikhmin et al. , Distribution-based BRDFs, http://www.cs.utah.edu/˜premoze/dbrdf/dBRDF.pdf, Mar. 2007 (Year: 2007).
Siegel et al., Thermal Radiation Heat Transfer vol. III Radiation Transfer with Absording, Emitting, and Scattering media, Scientific and Technical Information Office,https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19710021465.pdf, 1971 (Year: 1971).
Blinn, Models of Light Reflection for Computer Synthesized Pictures, University of Utah, Jul. 1977 (Year: 1977).
Goral et al., Modeling the Interaction of Light Between Diffuse Surfaces, Cornell University, Jul. 1984 (Year: 1984).
Beane, Chapter 19 Angular Momentum, Aug. 2010 (Year: 2010).
Howell, Blackbody, Thermopedia, http://www.thermopedia.com/content/66/ , Aug. 2014 (Year: 2014).
Vueghs et al., Presentation of the Hemisphere Method, Aerospace and Mechanical Engineering Department University of Liege, 2006 , WIT press (Year: 2006).
Howell et al., onLine Appendices to Thermal Radiation Heat Transfer, http://www.thermalradiation.net/webappendix/On-line%20appendices.pdf, Aug. 2015 (Year: 2015).
Cohen et al. The Hemi-Cube : A Radiosity Solution for Complex Environments, Cornell University, Nov. 3, 1985 (Year: 1985).
Han et al., Photometric Stereo for General BRDFs via Reflection Sparsity Modeling, Dec. 2015, IEEE (Year: 2015).
Wang et al., Second-Order Feed-Forward Rendering for Specular and Glossy Reflections, Sep. 2014, IEE (Year: 2014).
Arvo, J., “Analytic Methods for Simulated Light Transport”, PhD Thesis, Yale University, Dec. 1995, pp. 1-232.
Arvo, J., “Applications of Irradiance Tensors to the Simulation of Non-Lambertian Phenomena”, 1995 Special Interest Group on Graphics and Interactive Techniques (SIGGRAPH), Los Angeles, California, USA, Aug. 6, 1995, pp. 1-8.
Lewis, R., “Making shaders more physically plausible”, 4th Eurographics Workshop on Rendering, Paris, France, Mar. 4, 1993, pp. 47-62.
Lafortune et al., “Using the modified phong reflectance model for physically based rendering”, Technical Report CW197, Department of Computer Science, K. U. Leuven, Belgium, Netherlands, Nov. 1994, pp. 1-19.
Duvenhage et al., “Extending Backward Polygon Beam Tracing to Glossy Scattering Surfaces”, Computer Graphics Forum, vol. 30, No. 6, Sep. 2011, pp. 1825-1836.
Kautz et al., “Approximation of Glossy Reflection with Prefiltered Environment Maps”, Proceedings Graphics Interface, May 2000, pp. 119-126.
Lischinski et al., “Discontinuity Meshing for Accurate Radiosity”, IEEE Computer Graphics & Applications, Nov. 1992, pp. 25-39.
Snyder, J., “Area light sources for real-time graphics”, Technical report MSR-TR-96-11, Microsoft Corp., Mar. 6, 1996, pp. 1-32.
Green et al., “Efficient reflectance and visibility approximations for environment map rendering”, Eurographics, vol. 26, No. 3, 2007, pp. 1-8.
Zaninetti et al., “An Adaptive Method for Area Light Sources and Daylight in Ray Tracing”, Eurographics, vol. 18, No. 3, 1999, pp. 1-12.
Nishita et al., “Half-tone representation of 3-D objects illuminated by area sources or polyhedron sources”, Proceedings of IEEE COMPSAC, Nov. 1983, pp. 237-241.
Related Publications (1)
Number Date Country
20160239998 A1 Aug 2016 US