Rendering a scene using a reduced memory representation of a polynomial function to determine an output value approximating a mathematical function
AssigneeImagination Technologies Limited
InventorSimon Fenney
Life of this patent
Estimating the term…
Abstract
An aspect includes an apparatus for evaluating a mathematical function at an input value. The apparatus includes a selector for selecting a mathematical function, an input for a value at which to evaluate the function, an identifier for identifying an interval containing the input value. The interval is described by at least one polynomial function. At least one control point representing the polynomial function is retrieved from at least one look up table, and the polynomial function can be derived from the control points. The function is evaluated at the input value and an output of the evaluation is used as a value of the function at that input value.
Claims16
A computer graphics system for rendering a scene using a reduced memory representation of a polynomial function to determine an output value approximating a mathematical function, the computer graphics system comprising:
- a plurality of lookup tables stored in one or more non-transitory memories, each of the plurality of lookup tables being configured to store a data value determined for a respective interval over which a mathematical function may be evaluated;
- and
- a fixed function logic circuit coupled to the plurality of lookup tables, the fixed function circuit being implemented in fixed function Iodic and being configured to:
- identify an interval containing a point at which the mathematical function is to be evaluated,
- obtain the data value for the identified interval and data values for at least one interval adjacent each end of the identified interval,
- derive a polynomial function from the data values, the polynomial function being for approximating the mathematical function over the identified interval, and
- compute the output value of the polynomial function at the said point and to use that output value as an evaluation of the mathematical function;
- wherein the computer graphics system is configured to store, as the data values used to derive the polynomial function, spline control points having a cumulative data size that is less than a cumulative data size of polynomial coefficients from which the said polynomial function is derivable, thereby enabling the computer graphics system to render the scene with a reduced memory requirement.
A method for rendering a scene in a computer graphics system using a reduced memory representation of a polynomial function in a non-transitory computer readable storage medium, the representation being used to evaluate an output of a mathematical function for an input value, the method comprising:
- receiving, at a processor, a mathematical function for which a representation is to be created;
- approximating the mathematical function by a piecewise polynomial function over a plurality of intervals, wherein the mathematical function is approximated over each interval by a corresponding polynomial function of at least quadratic order;
- producing, at the processor, a plurality of spline control points including a single spline control point for each interval of a plurality of intervals over which the mathematical function may be evaluated to represent the piecewise polynomial function, wherein the produced spline control points have a cumulative data size that is less than a cumulative data size of polynomial coefficients from which the said piecewise polynomial function is derivable;
- and
- storing said spline control points in a non-transitory computer readable storage medium, whereby said stored spline control points are used, by a fixed function logic circuit implemented in fixed function logic, to evaluate the mathematical function for a specific input value within an interval of said plurality of intervals, thereby enabling the computer graphics system to render the scene with a reduced memory requirement.
A method for rendering a scene in a computer graphics system using a reduced memory representation of a polynomial function to determine an output value approximating a mathematical function, the method comprising:
- receiving, at a fixed function logic circuit implemented in fixed function logic, a value for a variable of a mathematical function to be evaluated;
- accessing, at the fixed function logic circuit, from a non-transitory machine-readable medium, a plurality of spline control points, each spline control point being determined from the mathematical function, wherein each of the spline control points are not themselves required to be an output value of the mathematical function for an input value to the mathematical function;
- producing, at the fixed function logic circuit, from the plurality of spline control points, coefficients of a polynomial function of a predetermined and at least quadratic order, wherein the polynomial function approximates the mathematical function on an interval, and wherein a cumulative data size of the plurality of spline control points is less than a cumulative data size of the coefficients of the polynomial function;
- evaluating, at the fixed function logic circuit, the polynomial function for the received value for the variable to produce an output value;
- and
- using the output value as an evaluation of the mathematical function, thereby enabling the computer graphics system to render the scene with a reduced memory requirement.
Dependencies are inferred from the claim text.