Method and device for establishing the frontier between objects of a scene in a depth map
US-2015371433-A1 · Dec 24, 2015 · US
US9280848B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9280848-B1 |
| Application number | US-201113280212-A |
| Country | US |
| Kind code | B1 |
| Filing date | Oct 24, 2011 |
| Priority date | Oct 24, 2011 |
| Publication date | Mar 8, 2016 |
| Grant date | Mar 8, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Rendering a scene with participating media is done by generating a depth map from a camera viewpoint and a shadow map from a light source, converting the shadow map using epipolar rectification to form a rectified shadow map (or generating the rectified shadow map directly), generating an approximation to visibility terms in a scattering integral, then computing a 1D min-max mipmap or other acceleration data structure for rectified shadow map rows and traversing that mipmap/data structure to find lit segments to accumulate values for the scattering integral for specific camera rays, and generating rendered pixel values that take into account accumulated values for the scattering integral for the camera rays. The scattering near an epipole of the rectified shadow map might be done using brute force ray marching when the epipole is on or near the screen. The process can be implemented using a GPU for parallel operations.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method for rendering a scene from a geometric model of elements in the scene, lighting and a participating volumetric medium, wherein the volumetric medium and lighting of such volumetric medium and scene is represented by electronically readable representative data, and rendering corresponds to generating pixel values from an image representing a view of the scene from a camera viewpoint, the method comprising: generating a rectified shadow map representing visibility from a light source in the scene that uses an epipolar rectification, wherein rows of the rectified shadow map correspond to epipolar slices of a corresponding shadow map; generating an approximation to visibility terms in a scattering integral; for each of a plurality of rows in the rectified shadow map, computing a static acceleration data structure, wherein the static acceleration data structure is static in that for at least some of camera rays, the static acceleration data structure is unchanged by processing for those at least some camera rays; for each of a plurality of camera rays, traversing the static acceleration data structure to find lit segments; for each of at least some of the plurality of camera rays, accumulating values for the scattering integral for that camera ray as calculated for lit segments, wherein the accumulated values for the scattering integral include a texture term; generating a rectified light texture map and precomputing prefix sums that depend on the texture term for each of the camera rays independent of the other of the camera rays, wherein the texture term varies as a function of the epipolar slice; and generating rendered pixel values that take into account accumulated values for the scattering integral for the plurality of camera rays. 2. The computer-implemented method of claim 1 , further comprising computing scattering near an epipole of the rectified shadow map using brute force ray marching when the epipole is on or near a view plane region in the scene corresponding to a screen corresponding to the image being rendered. 3. The computer-implemented method of claim 1 , further comprising: allocating computation for a plurality of the camera rays to a plurality of parallel operators; and providing access to the static acceleration data structure to each of the plurality of parallel operators, thereby allowing for calculations for at least two distinct camera rays to proceed independently. 4. The computer-implemented method of claim 1 , further comprising repeating rectified shadow map generation for a second and subsequent light source. 5. The computer-implemented method of claim 1 , further comprising: generating a depth map representing visibility from the camera viewpoint; and using the depth map when accumulating values for the scattering integral. 6. The computer-implemented method of claim 1 , wherein generating a rectified shadow map comprises: generating the corresponding shadow map representing the visibility from the light source in the scene; and converting the corresponding shadow map using epipolar rectification to form the rectified shadow map. 7. The computer-implemented method of claim 1 , wherein the static acceleration data structure is a binary 1D tree of 1D structures. 8. The computer-implemented method of claim 1 , wherein the static acceleration data structure is a plurality of 1D min-max mipmaps, with a 1D min-max mipmap for each of a plurality of rows of the rectified shadow map. 9. The computer-implemented method of claim 1 , wherein at least one step is performed using a graphical processing unit. 10. The computer-implemented method of claim 1 , wherein accumulating values for the scattering integral includes approximating portions of the scattering integral using singular vectors of a singular value decomposition. 11. A rendering system for rendering a scene from a geometric model of elements in the scene, lighting and a participating volumetric medium, wherein the volumetric medium and lighting of such volumetric medium and scene is represented by electronically readable representative data, and rendering corresponds to generating pixel values from an image representing a view of the scene from a camera viewpoint, comprising: one or more processors associated with one or more computer systems; and a memory configured to store a set of instructions to be executed by the one or more processors, the set of instructions comprising: instructions for generating a rectified shadow map representing visibility from a light source in the scene that uses an epipolar rectification, wherein rows of the rectified shadow map correspond to epipolar slices of a corresponding shadow map; instructions for generating an approximation to visibility terms in a scattering integral; instructions for computing, for each of a plurality of rows in the rectified shadow map, a static acceleration data structure, wherein the static acceleration data structure is static in that for at least some of camera rays, the static acceleration data structure is unchanged by processing for those at least some camera rays; instructions for traversing, for each of a plurality of camera rays, the static acceleration data structure to find lit segments; instructions for accumulating, for each of at least some of the plurality of camera rays, values for the scattering integral for that camera ray as calculated for lit segments, wherein the accumulated values for the scattering integral include a texture term; instructions for generating a rectified light texture map and for precomputing prefix sums that depend on the texture term for each of the camera rays independent of the other of the camera rays, wherein the texture term varies as a function of the epipolar slice; and instructions for generating rendered pixel values that take into account accumulated values for the scattering integral for the plurality of camera rays. 12. The rendering system of claim 11 , further comprising instructions for computing scattering near an epipole of the rectified shadow map using brute force ray marching when the epipole is on or near a view plane region in the scene corresponding to a screen corresponding to the image being rendered. 13. The rendering system of claim 11 , further comprising: storage for an acceleration data structure representing the 1D min-max mipmap independent of camera ray; a graphical processing unit capable of at least two parallel operations; instructions for allocating computation for a plurality of the camera rays to a plurality of GPU parallel operations; and instructions for providing access to the acceleration data structure to each of the plurality of GPU parallel operations, thereby allowing for calculations for at least two distinct camera rays to proceed independently. 14. The rendering system of claim 11 , further comprising instructions for repeating rectified shadow map generation for a second and subsequent light source. 15. The rendering system of claim 11 , further comprising instructions for generating a depth map representing visibility from the camera viewpoint, such that the rendering system is configured for using the depth map when accumulating values for the scattering integral. 16. The rendering system of claim 11 , wherein generating a rectified shadow map comprises: instructions for generating the corresponding shadow map representing the visibility from the light source in the scene; and instructions for converting the corresponding shadow map using epipolar rectification to form the rectified
Shadow generation · CPC title
Ray-tracing · CPC title
Lighting effects · CPC title
Illumination models · CPC title
Shading · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.