- Number
- 12131419
- Published
- 2024-10-29
- Filed
- 2020-06-30
- Assignee
- LUCASFILM ENTERTAINMENT COMPANY LTD
- Inventors
- Walker; Nicholas, Weitzberg; David, Mazzone; André
- CPC
- G06T15/50; G06T3/08; G06T15/06; G06T15/20
- Verdict
- Low Notable software
- Source
- Google Patents · FreePatentsOnline
The keeper's note
Rendering technique for non-standard/unusual 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 (1) 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 (2) 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 positi
Claims
1. A method of rendering an image of a scene on a curved surface of a target screen by ray tracing, the method comprising: receiving information for a camera, including a camera position and a camera orientation defining a virtual screen perpendicular to an optical axis of the camera; receiving information of the target screen, including a target screen position and a target screen orientation, wherein points on the target screen are defined in a UV coordinate system and the target screen defines a plurality of pixels with each pixel in the plurality of pixels corresponding to a respective UV coordinate on the target screen; and rendering the image on the curved surface of the target screen by performing ray tracing for the plurality of pixels of the target screen to simulate lighting of the scene by tracing a path of light from a virtual camera through a two-dimensional viewing plane out into a three-dimensional scene and back to light sources for the scene, wherein performing ray tracing comprises sighting down one or more rays per pixel of the target screen by, for each respective pixel of the target screen having a respective UV coordinate: (i) 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; (ii) tracing one or more rays from the camera through the pixel of the target screen towards a corresponding point on the virtual screen at the respective XY coordinate toward a virtual scene; and (iii) 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. ||
11. 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 of a scene on a curved surface of a target screen by ray tracing, the instructions comprising: receiving information for a camera, including a camera position and a camera orientation defining a virtual screen perpendicular to an optical axis of the camera; receiving information of the target screen, including a target screen position and a target screen orientation, wherein points on the target screen are defined in a UV coordinate system and the target screen defines a plurality of pixels each pixel in the plurality of pixels corresponding to a respective UV coordinate on the target screen; rendering the image on the curved surface of the target screen by performing ray tracing for the plurality of pixels of the target screen to simulate lighting of the scene by tracing a path of light from a virtual camera through a two-dimensional viewing plane out into a three-dimensional scene and back to light sources for the scene, wherein performing ray tracing comprises sighting down one or more rays per pixel of the target screen by, for each respective pixel of the target screen having a respective UV coordinate of the plurality of pixels of the target screen: (i) 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; (ii) tracing one or more rays from the camera through the pixel of the target screen towards a corresponding point on the virtual screen at the respective XY coordinate toward a virtual scene; and (iii) 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 by averaging color value data for the respective pixel. ||
17. 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 of a scene by ray tracing for an immersive content production system the instructions comprising: receiving information for a camera of the immersive content production system having a performance area that is at least partially surrounded by one or more curved light emitting diode display walls and a display ceiling that display virtual environment content, including a camera position and a camera orientation defining a virtual screen perpendicular to an optical axis of the camera; receiving information of a target screen on the one or more curved light emitting diode display walls, 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 to simulate lighting of the scene by tracing a path of light from a virtual camera through a two-dimensional viewing plane out into a three-dimensional scene and back to light sources for the scene, wherein performing ray tracing comprises sighting down one or more rays per pixel of the target screen by, for each respective pixel of the target screen having a respective UV coordinate of the plurality of pixels of the target screen: (i) 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; (ii) tracing one or more rays from the camera through the pixel of the target screen towards a corresponding point on the virtual screen at the respective XY coordinate toward a virtual scene; and (iii) estimating a respective color value for the respective pixel based on incoming light from virtual objects in the virtual scene that intersect the multiple rays by averaging color value data for the respective pixel, wherein an angle of the camera to the target screen changes over time as the camera moves.