Outer Rim Archives
Archives · 2021 · 20210407174

Application (pre-grant publication)

RENDERING IMAGES FOR NON-STANDARD DISPLAY DEVICES

Number
20210407174
Published
2021-12-30
Filed
2020-06-30
Assignee
Lucasfilm Entertainment Company Ltd.
Inventors
Walker; Nicholas, Weitzberg; David, Mazzone; André
CPC
G06T15/06; G06T15/50; G06T3/08; G06T15/20
Verdict
Low Notable software
Source
Google Patents · FreePatentsOnline

The keeper's note

Rendering technique for non-standard display devices.

Abstract

A method of rendering an image includes receiving information of a virtual camera, including a camera position and a camera orientation defining a virtual screen; receiving information of a target screen, including a target screen position and a target screen orientation defining a plurality of pixels, each respective pixel corresponding to a respective UV coordinate on the target screen; for each respective pixel of the target screen: determining a respective XY coordinate of a corresponding point on the virtual screen based on the camera position, the camera orientation, the target screen position, the target screen orientation, and the respective UV coordinate; tracing one or more rays from the virtual camera through the corresponding point on the virtual screen toward a virtual scene; and estimating a respective color value for the respective pixel based on incoming light from virtual objects in the virtual scene that intersect the one or more rays.

Background

BACKGROUND

In computer graphics, ray tracing is a rendering technique for generating an image by tracing the path of light as pixels in an image plane and simulating the effects of its encounters with virtual objects. Ray tracing is capable of producing a higher degree of visual realism than other rendering techniques (e.g., scanline rendering methods), but at a greater computational cost. Rendering by ray tracing for certain types of display screens (e.g., large screens, oddly shaped screens, and the like) can present particular challenges. Therefore, improved rendering techniques are needed. SUMMARY

According to some embodiments, a method of rendering an image by ray tracing includes receiving information of a virtual camera. The information of the virtual camera includes a camera position and a camera orientation, which define a virtual screen perpendicular to an optical axis of the virtual camera. The method further includes receiving information of a target screen. The information of the target screen includes a target screen position and a target screen orientation. The target screen defines a plurality of pixels. Each respective pixel corresponds to a respective UV coordinate on the target screen. The method further includes, for each respective pixel of the plurality of pixels of the target screen: determining a respective XY coordinate of a corresponding point on the virtual screen based on the camera position, the camera orientation, the target screen

Claims

1. A method of rendering an image by ray tracing, the method comprising: receiving information of a virtual camera, including a camera position and a camera orientation defining a virtual screen perpendicular to an optical axis of the virtual camera; receiving information of a target screen, including a target screen position and a target screen orientation, the target screen defining a plurality of pixels, each respective pixel corresponding to a respective UV coordinate on the target screen; and rendering the image by performing ray tracing for the plurality of pixels of the target screen, wherein performing ray tracing comprises, for each respective pixel of the target screen having a respective UV coordinate: determining a respective XY coordinate of a corresponding point on the virtual screen based on the camera position, the camera orientation, the target screen position, the target screen orientation, and the respective UV coordinate; tracing one or more rays from the virtual camera through the corresponding point on the virtual screen at the respective XY coordinate toward a virtual scene; and estimating a respective color value for the respective pixel based on incoming light from virtual objects in the virtual scene that intersect the one or more rays. || 8. A computer product comprising a non-transitory computer readable medium storing a plurality of instructions that when executed control a computer system to render an image by ray tracing, the instructions comprising: receiving information of a virtual camera, including a camera position and a camera orientation defining a virtual screen perpendicular to an optical axis of the virtual camera; receiving information of a target screen, including a target screen position and a target screen orientation, the target screen defining a plurality of pixels, each respective pixel corresponding to a respective UV coordinate on the target screen; rendering the image by performing ray tracing for the plurality of pixels of the target screen, wherein performing ray tracing comprises, for each respective pixel of the target screen having a respective UV coordinate of the plurality of pixels of the target screen: determining a respective XY coordinate of a corresponding point on the virtual screen based on the camera position, the camera orientation, the target screen position, the target screen orientation, and the respective UV coordinate; tracing one or more rays from the virtual camera through the corresponding point on the virtual screen at the respective XY coordinate toward a virtual scene; and estimating a respective color value for the respective pixel based on incoming light from virtual objects in the virtual scene that intersect the one or more rays. || 15. A computer system comprising: one or more processors; and a non-transitory computer readable medium storing a plurality of instructions that when executed control the one or more processors to render an image by ray tracing, the instructions comprising: receiving information of a virtual camera, including a camera position and a camera orientation defining a virtual screen perpendicular to an optical axis of the virtual camera; receiving information of a target screen, including a target screen position and a target screen orientation, the target screen defining a plurality of pixels, each respective pixel corresponding to a respective UV coordinate on the target screen; rendering the image by performing ray tracing for the plurality of pixels of the target screen, wherein performing ray tracing comprises, for each respective pixel of the target screen having a respective UV coordinate of the plurality of pixels of the target screen: determining a respective XY coordinate of a corresponding point on the virtual screen based on the camera position, the camera orientation, the target screen position, the target screen orientation, and the respective UV coordinate; tracing one or more rays from the virtual camera through the corresponding point on the virtual screen at the respective XY coordinate toward a virtual scene; and estimating a respective color value for the respective pixel based on incoming light from virtual objects in the virtual scene that intersect the one or more rays.