Method and apparatus for handling translucency in 3D graphics

Computer graphics processing and selective visual display system – Computer graphics processing – Attributes

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C345S428000, C345S422000, C345S592000, C345S614000

Reexamination Certificate

active

06700584

ABSTRACT:

This invention relates to a method and apparatus for handling translucency in rendering of graphic images composed of a plurality of triangular image primitives.
Translucency techniques are applied in 3D graphics not only to provide images of translucent objects, when anti-aliasing is difficult where such objects overlap, but also to allow smooth transition from one model to another to allow substantial changes in model size; the application of fade level of detail is applied in flight simulators when objects recede rapidly.
In 3D graphics a translucent object allows objects behind it to be visible through it in attenuated form, while an opaque object obscures any other object behind it. Translucency is typically monochrome, i.e. there is one alpha component common to red, green and blue colour components; if each colour component has its own alpha component, then the well known effects of subtractive colour mixing apply at object overlaps.
One model of translucency is the small hole model. If a translucent object is made by peppering a coloured opaque object with a myriad of holes so small as to be invisible to the human eye, objects behind the translucent object are visible through the holes. Translucency can be defined as the area occupied by holes per unit area of the objects surface.
Consider looking through a succession of overlapping translucent objects, each with a translucency of 0.25, using the above small hole model. The nearest object has its colour attenuated by 0.75, because only 0.75 of the object surface area reflects light and the remaining 0.25 comprises holes. The second nearest object has its colour attenuated by (0.25*0.75); only 0.25 of the second object's surface is visible through the holes in the first object, and of that surface only 0.75 reflects light. This is shown in Table 1 below for objects of equal translucency.
TABLE 1
Cumulative attenuation of equally translucent objects
Area
Sum of
Area of
reflecting
Atten-
Object position
holes
light
Attenuation
uations
1 (nearest)
0.25
0.75
0.75
0.7500
2
0.25
0.75
0.25 * 0.75
0.9375
3
0.25
0.75
0.25 * 0.25 * 0.75
0.9844
4
0.25
0.75
0.25 * 0.25 * 0.25 * 0.75
0.9961
If the objects are of differing translucencies, the position is that illustrated in Table 2 below.
TABLE 2
Cumulative attenuation of unequally translucent objects
Area
Object
Area of
reflecting
Sum of
position
holes
light
Attenuation
Attenuations
1 (nearest)
0.40
0.60
0.60
0.6000
2
0.30
0.70
0.40 * 0.70
0.8800
3
0.20
0.80
0.30 * 0.40 * 0.80
0.9760
4
0.10
0.90
0.20 * 0.30 * 0.40 * 0.90
0.9976
Assume that each pixel fragment fully covers the pixel; to determine the final colour of a given pixel on the screen, pixel fragments are rendered in front to back order, each being textured and shaded independently. The colour of each pixel fragment is attenuated to account for the effects of translucent fragments in front of it, the amount of attenuation being calculated after the example of Table 2 above.
It is apparent from Tables 1 and 2 that the sum of the attenuations (cumulative attenuation) approaches unity; indeed the sum of attenuations must be unity to obtain the final pixel colour. For a finite number of translucent surfaces at a given pixel, assume there is an opaque background, for example the sky, attenuate its colour by unity minus the sum of the attenuations (thereby forcing the final sum of attenuations to unity) and add the result to the final pixel colour.
Typically, translucency is assigned a numeric value which can be considered to lie in the range 0.0 to 1.0; this range might be mapped to the integers 0 to 256 in a hardware implementation.
The value of 256 is inconvenient, requiring 9 bits to encode 257 values, when 8 bits suffice for values in the range 0 to 255. Some systems map the range 0.0 to 1.0 onto the range 0 to 255, but this makes it awkward to represent values such as 0.25, 0.5 and 0.75. Some systems map the range 0.0 onto the range 0 to 256, and then represent the value 256 as 255.
By convention the term “translucency” maps opaque objects to the value 0.0 and transparent objects to the value 1.0, because translucency increases over the range. The term “opacity” is applied when translucent objects are mapped to the value 0.0 and opaque objects to the value 1.0, because opacity increases over the range. The term “alpha” is used to refer to the value irrespective of whether it is interpreted as translucency or opacity.
In real time consumer 3D graphics, there are three types of translucency; conventional, texture, and screendoor.
Conventional translucency is applied to an entire object, mesh or face, and is typically represented by eight bits for 256 different levels of translucency. Conventional translucency has a cumulative attenuation effect when objects are viewed through several layers or translucency.
If an increasing amount of conventional translucency is applied to a VRML model of an object, the expectation is that the object will fade away; in practice unexpected dark regions may occur, because real time 3D graphics models make use of intersecting faces; for example the mesh representing a character's leg will penetrate the mesh representing the character's body to prevent gaps and cracks appearing at the join under animation; rather than trimming the intersecting polygons to fit, the “spare parts” of the polygons are just left in the knowledge that in normal use they remain hidden behind an opaque surface of the intersecting polygon. However when the technique of translucency is applied, the intersection appears dark because there are more translucent surfaces than expected.
Screendoor translucency is a technique in which an object is literally peppered with holes, e.g. by not drawing certain pixels in the object. The more pixels that are omitted, the greater the apparent translucency. For example a translucency of 0.5 is simulated by drawing every other pixel, but a regular pattern of missing pixels must be avoided because it can become annoyingly apparent to a viewer. This need to avoid a regular pattern limits the number of discreet levels of translucency which can be achieved by using screendoor translucency.
For the typical application of translucency in fade level of detail, conventional translucency is unsuitable because of the unexpected dark regions at intersections, so screendoor translucency is preferred.
In U.S. Pat. No. 5,864,342 Microsoft Corporation, a method of rendering graphical objects which may be translucent is disclosed in which geometric primitives of models are divided into “chunks” and pixel fragments for each chunk are generated then resolved. Texture mapping and filtering occurs prior to anti-aliasing the texture-mapped primitive, but there is no reduction of the number of attributes to be calculated.
In co-pending application WO99/06957 an invention is disclosed in which pixels from triangular image primitives are provided with inside flags which are used to determine contributions from values, such as colour or texture, stored at each vertex of the triangle, to give attribute values to each pixel. Pixel attribute values from all triangles jointly determine an output colour for each pixel.
The present invention is an improvement of that technique which allows translucency in a 3D graphics system to be handled.
According to the present invention, there is provided an image processing method for rendering a two dimensional pixel image from a plurality of triangular image primitives to be projected onto an image plane, in which per-pixel attribute values, derived by interpolation from values held for the triangle vertices, are mapped onto respective pixels within the projected triangular primitives, in which, for each triangle:
prior to projection, the triangle is parameterised with a respective two-dimensional co-ordinate system with the co-ordinate axes (s,t) concurrent with respective edges of the triangle and the origin coincident with the vertex between said edges;
during projection, a generalised interpolation function is applied in terms of the parameterising co-ordinat

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for handling translucency in 3D graphics does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for handling translucency in 3D graphics, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for handling translucency in 3D graphics will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3226099

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.