ALTA  alpha
Public Member Functions | List of all members
rational_function_legendre Class Reference

Detailed Description

This rational function uses Legendre polynomials as the basis function for the numerator and the denominator of the rational function:

\( f(x) = \sum a_i p_i(x) / b_i q_{i}(x) \), with \( p_i = q_i\).

Legendre polynomials can be defined using a recursive formulation (see Wikipedia page). Consequently, they qre less performant compared to Chebychev polynomials for higher order expansions. The first terms of the basis are hard coded.

For more details see the addendum on Rational BRDF available at https://hal.inria.fr/hal-00913516

Author
Laurent Belcour <laure.nosp@m.nt.b.nosp@m.elcou.nosp@m.r@um.nosp@m.ontre.nosp@m.al.c.nosp@m.a>

#include <rational_function.h>

Collaboration diagram for rational_function_legendre:
Collaboration graph
[legend]

Public Member Functions

 rational_function_legendre (const parameters &params)
 
virtual rational_function_1d * get (int i)
 
 rational_function_legendre (const parameters &params)
 
virtual rational_function_1d * get (int i)
 

rational_function_legendre_1d

Update the y-1D function for the ith dimension.

Note
It will test if the 1D function provided is of the dynamic type
virtual void update (int i, rational_function_1d *r)
 
virtual void update (int i, rational_function_1d *r)
 

Member Function Documentation

virtual rational_function_1d* rational_function_legendre::get ( int  i)
inlinevirtual

Get the 1D function associated with color channel i. If no one exist, this function allocates a new element. If i > nY, it returns NULL.

virtual rational_function_1d* rational_function_legendre::get ( int  i)
inlinevirtual

Get the 1D function associated with color channel i. If no one exist, this function allocates a new element. If i > nY, it returns NULL.


The documentation for this class was generated from the following files: