Rendering using analytic signed distance fields
AssigneeApple Inc.
InventorsTobias Eble, William J. Dobbie
Life of this patent
Estimating the term…
Abstract
Various implementations disclosed herein include devices, systems, and methods that use an analytic approach to determine signed distance field (SDF) representations that represent one or more curves (e.g., glyphs that represent text) and cache the SDF representations for reuse in rendering the curves in similar rendering conditions. For example, the SDF representation may be re-used, based on determining that text is going to occupy a similar-sized portion of the device's display in multiple views. An SDF representation is recalculated if different conditions (e.g., substantial zooming in on the text) occur in different views.
Claims24
A method comprising:
- at an electronic device having a processor:
- generating a signed distance field (SDF) representation representing distances of multiple positions to closest edges of a curve, wherein the SDF representation is generated by solving a function based on a mathematical relationship that defines the curve;
- rendering a first image depicting the curve in a first rendering condition, wherein the first image is rendered using the SDF representation;
- determining to reuse the SDF representation for rendering a second image depicting the curve in a second rendering condition based on a similarity of the second rendering condition to the first rendering condition, wherein the first image provides a first view of the curve on a surface within a 3D environment from a first camera viewpoint and the second image provides a second view of the curve on the surface within the 3D environment from a second camera viewpoint, and wherein the similarity of the second rendering condition to the first rendering condition is determined based on a viewpoint difference or curve difference;
- and
- rendering the second image depicting the curve in the second rendering condition, wherein the second image is rendered using the SDF representation.
A system comprising:
- a device with one or more graphics processing units (GPUs);
- and
- a memory including instructions that, when executed by the one or more GPUs, cause the system to perform operations comprising:
- generating a signed distance field (SDF) representation representing distances of multiple positions to closest edges of a curve, wherein the SDF representation is generated by solving a function based on a mathematical relationship that defines the curve;
- rendering a first image depicting the curve in a first rendering condition, wherein the first image is rendered using the SDF representation;
- determining to reuse the SDF representation for rendering a second image depicting the curve in a second rendering condition based on a similarity of the second rendering condition to the first rendering condition, wherein the first image provides a first view of the curve on a surface within a 3D environment from a first camera viewpoint and the second image provides a second view of the curve on the surface within the 3D environment from a second camera viewpoint, and wherein the similarity of the second rendering condition to the first rendering condition is determined based on a viewpoint difference or curve difference;
- and
- rendering the second image depicting the curve in the second rendering condition, wherein the second image is rendered using the SDF representation.
A non-transitory computer-readable medium storing program instructions executable via one or more graphics processing units (GPUs) to perform operations comprising:
- generating a signed distance field (SDF) representation representing distances of multiple positions to closest edges of a curve, wherein the SDF representation is generated by solving a function based on a mathematical relationship that defines the curve;
- rendering a first image depicting the curve in a first rendering condition, wherein the first image is rendered using the SDF representation;
- determining to reuse the SDF representation for rendering a second image depicting the curve in a second rendering condition based on a similarity of the second rendering condition to the first rendering condition, wherein the first image provides a first view of the curve on a surface within a 3D environment from a first camera viewpoint and the second image provides a second view of the curve on the surface within the 3D environment from a second camera viewpoint, and wherein the similarity of the second rendering condition to the first rendering condition is determined based on a viewpoint difference or curve difference;
- and
- rendering the second image depicting the curve in the second rendering condition, wherein the second image is rendered using the SDF representation.
Dependencies are inferred from the claim text.