Generating images using ray tracing and ray tree generated using low-discrepancy sequences
Abstract
Computer graphics apparatus, methods and systems and program products, operable to generate and display human-perceptible images, comprise a ray tracer operable to generate a ray tree, the ray tree comprising a primary ray shot along a selected direction and a plurality of other rays, the other rays being generated by recursive splitting. A ray is split when it encounters a predetermined condition, and each of the rays into which it is split is directed along a selected direction. The ray tracer comprises a low-discrepancy sequence generator an condition detector and a ray generator. The low-discrepancy sequence generator is configured to generate elements of at least one low-discrepancy sequence. The condition detector is configured to determine, for one of the rays in the ray tree, whether the one of the rays encounters the predetermined condition. The ray generator is configured to, when the condition detector makes a positive determination in connection with the one of the rays, generate a selected number “M” of split rays each along a splitting direction determined by a respective direction value.
Claims
exact text as granted — not AI-modified1 . A computer graphics system for generating a pixel value for a pixel in an image, the pixel value being representative of a point in a scene as recorded on an image plane of a simulated camera, the computer graphics system being configured to generate the pixel value for an image using a selected ray-tracing methodology, the selected ray-tracing methodology making use of a ray tree, the ray tree having a ray shot from the pixel into a scene along a selected direction, at least some of the rays recursively splitting into a selected number of additional rays when the respective ray encounters a surface in the scene, each of the split rays being directed along a selected direction, though a selected number of tree levels, the computer graphics system comprising
A. a low-discrepancy sequence generator configured to generate elements of at least one low-discrepancy sequence; B. an intersection indication generator configured to determine, for one of said rays in the ray tree, whether the one of the rays encounters a surface of an object in the scene; C. a ray generator configured to, when the intersection indication generator makes a positive determination in connection with the one of the rays, generate a selected number “M” of said additional rays each along a splitting direction determined by a respective direction value determined in accordance with
(
y
i
,
j
)
j
=
0
M
-
1
=
(
Φ
b
d
(
i
)
⊕
j
M
,
…
,
Φ
b
d
+
Δ
d
-
1
(
i
)
⊕
Φ
b
d
+
Δ
d
-
2
(
j
)
)
,
where
{
Φ
b
d
(
i
)
,
…
,
Φ
d
+
Δ
d
-
1
(
i
)
}
and
{
j
M
,
…
,
Φ
b
d
+
Δ
d
-
1
(
j
)
}
are low-discrepancy sequences, for selected bases b and dimensions Δd, generated by the low-discrepancy sequence generator, and where ED represents addition modulo “one” and “i” is an instance number in connection with the one of the rays; and
D. a function evaluator configured to generate at least one value representing an evaluation of a selected function using the rays associated with the ray tree, the value generated by the function evaluator corresponding to the pixel value.
2 . A computer-implemented method of generating a pixel value for a pixel in an image, the pixel value being representative of a point in a scene as recorded on an image plane of a simulated camera, computer graphics system being configured to generate the pixel value for an image using a selected ray-tracing methodology, the selected ray-tracing methodology making use of a ray tree, the ray tree having a ray shot from the pixel into a scene along a selected direction, at least some of the rays recursively splitting into a selected number of additional rays when the respective ray encounters a surface in the scene, each of the split rays being directed along a selected direction, though a selected number of tree levels, the method comprising
A. a low-discrepancy sequence generation step of generating elements of at least one low-discrepancy sequence; B. an intersection indication generation step of determining, for one of said rays in the ray tree, whether the one of the rays encounters a surface of an object in the scene; C. a ray generation step of, in response to a positive determination during the intersection indication generation step in connection with the one of the rays, generating a selected number “M” of said additional rays each along a splitting direction determined by a respective direction value determined in accordance with
(
y
i
,
j
)
j
=
0
M
-
1
=
(
Φ
b
d
(
i
)
⊕
j
M
,
…
,
Φ
b
d
+
Δ
d
-
1
(
i
)
⊕
Φ
b
d
+
Δ
d
-
2
(
j
)
)
,
where
{
Φ
b
d
(
i
)
,
…
,
Φ
d
+
Δ
d
-
1
(
i
)
}
and
{
j
M
,
…
,
Φ
b
d
+
Δ
d
-
2
(
j
)
}
are low-discrepancy sequences, for selected bases b and dimensions Δd, generated by the low-discrepancy sequence generator, and where ⊕ represents addition modulo “one” and “i” is an instance number in connection with the one of the rays; and
D. a function evaluation step of generating at least one value representing an evaluation of a selected function using the rays associated with the ray tree, the value generated during the function evaluation step corresponding to the pixel value.
3 . A computer program product for use in connection with a computer to provide a computer graphics system for generating a pixel value for a pixel in an image, the pixel value being representative of a point in a scene as recorded on an image plane of a simulated camera, computer graphics system being configured to generate the pixel value for an image using a selected ray-tracing methodology, the selected ray-tracing methodology making use of a ray tree, the ray tree having a ray shot from the pixel into a scene along a selected direction, at least some of the rays recursively splitting into a selected number of additional rays when the respective ray encounters a surface in the scene, each of the split rays being directed along a selected direction, though a selected number of tree levels, the computer program product comprising a computer-readable medium having encoded thereon:
A. a low-discrepancy sequence generation module configured to enable the computer to generate elements of at least one low-discrepancy sequence; B. an intersection indication generation module configured to enable the computer to determine, for one of said rays in the ray tree, whether the one of the rays encounters a surface of an object in the scene; C. a ray generation module configured to enable the computer to, when the intersection indication generator makes a positive determination in connection with the one of the rays, generate a selected number “M” of said additional rays each along a splitting direction determined by a respective direction value determined in accordance with
(
y
i
,
j
)
j
=
0
M
-
1
=
(
Φ
b
d
(
i
)
⊕
j
M
,
…
,
Φ
b
d
+
Δ
d
-
1
(
i
)
⊕
Φ
b
d
+
Δ
d
-
2
(
j
)
)
,
where
{
Φ
b
d
(
i
)
,
…
,
Φ
d
+
Δ
d
-
1
(
i
)
}
and
{
j
M
,
…
,
Φ
b
d
+
Δ
d
-
2
(
j
)
}
are low-discrepancy sequences, for selected bases b and dimensions Δd, generated by the low-discrepancy sequence generator, and where ⊕ represents addition modulo “one” and “i” is an instance number in connection with the one of the rays; and
D. a function evaluation module configured to enable the computer to generate at least one value representing an evaluation of a selected function using the rays associated with the ray tree, the value generated by the function evaluator corresponding to the pixel value.Join the waitlist — get patent alerts
Track US2009051688A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.