US7262777B2 - Approximation of level of detail calculation in cubic mapping without attribute delta function - Google Patents

Approximation of level of detail calculation in cubic mapping without attribute delta function Download PDF

Info

Publication number
US7262777B2
US7262777B2 US10/784,113 US78411304A US7262777B2 US 7262777 B2 US7262777 B2 US 7262777B2 US 78411304 A US78411304 A US 78411304A US 7262777 B2 US7262777 B2 US 7262777B2
Authority
US
United States
Prior art keywords
axes
faces
texture
face
current texture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US10/784,113
Other versions
US20050017983A1 (en
Inventor
Qun Feng (Fred) Liao
Zhou (Mike) Hong
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Technologies Inc filed Critical Via Technologies Inc
Priority to US10/784,113 priority Critical patent/US7262777B2/en
Assigned to VIA TECHNOLOGIES, INC. reassignment VIA TECHNOLOGIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LIAO, QUN FENG (FRED)
Publication of US20050017983A1 publication Critical patent/US20050017983A1/en
Application granted granted Critical
Publication of US7262777B2 publication Critical patent/US7262777B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Definitions

  • the present invention relates generally to environmental mapping in a computer graphics system and more particularly to environmental mapping and mip-mapping in a computer graphics system.
  • Cubic mapping is a form of reflection mapping in which a cubic environmental map is used, as illustrated in FIG. 1A .
  • the cubic environmental map is formed from six 2D maps, each of which is a surface, FACE 0 -FACE 5 of the cube shown in FIG. 1A .
  • Cubic mapping can be combined with mip-mapping by requiring that each 2D cubic surface is itself a mip-map, shown in FIG. 2 , for which a level of detail (LOD) is specified.
  • LOD level of detail
  • the LOD is calculated as
  • u0 is the u-coordinate for pixel p 0
  • u1 is the u-coordinate for pixel p 1
  • u2 is the u-coordinate for pixel p 2 .
  • a problem occurs, however, in cubic mapping. There is no guarantee that the neighboring coordinates are mathematically continuous, which is required if the delta differences are to be a reasonable approximation of the derivative. This is true because u and v have been mapped according to certain rules to determine which face of the cube applies to a particular view vector and because the cubic face of neighboring pixels may not be the same.
  • FIG. 3 shows the assignment of u, v coordinates for each face of a cube according to the orthogonal coordinate system shown.
  • FACE 0 for FACE 0 , u has a ⁇ z direction and v has a ⁇ y direction.
  • FACE 1 u has a+z direction and v has a ⁇ y direction.
  • FACE 2 u has a+x direction and v has a+z direction.
  • FACE 3 u has a+x direction and v has a ⁇ z direction.
  • FACE 4 u has a+x direction and v has a ⁇ y direction
  • FACE 5 u has a ⁇ x direction and v has a ⁇ y direction.
  • each view vector has a before-mapping value (Nx, Ny, Nz) and an after-mapping value (U, V, Major, fid), where Nx, Ny and Nz are normals of cube surfaces, U, V are the u, v values, Major is the normal with the largest absolute value, and fid is the face id.
  • the mapping algorithm compares the magnitude of each component normal and decides which cubic face a pixel belongs to i.e., should be mapped to.
  • FIG. 3 shows the cubic faces and the u, v axes for each face, given the coordinate system shown.
  • a method in accordance with the present invention is a method of performing cubic mapping with texturing.
  • the method includes selecting neighboring pixels to be mapped, computing normals of the neighboring pixels, and mapping the normals of the pixels to faces of a cube, where neighboring pixels are mapped to adjacent faces of the cube and each face has an identifying number, and a LOD and a pair of texture coordinates for defining a mip-map for the face.
  • the method further includes computing a level of detail (LOD) parameter for the texture coordinates of the neighboring pixels based on continuity-adjusted derivatives of the texture coordinates.
  • LOD level of detail
  • One advantage of the present invention is that the same LOD can be maintained for texture maps used on different faces of the cube.
  • Another advantage is that fewer computations are required to determine the LOD.
  • FIG. 1A illustrates cubic environmental mapping
  • FIG. 1B illustrates spherical environmental mapping
  • FIG. 2 illustrates mip-mapping
  • FIG. 3 illustrates cubic faces with u, v orientation for each plane
  • FIG. 4 sets forth a code fragment of the prior art
  • FIG. 5 sets forth a flow chart of the present invention
  • FIG. 6 illustrates a table describing the codes of the present invention
  • FIGS. 7A and 7B set forth a code fragment in accordance with the present invention.
  • FIG. 8 shows a flow chart of the code fragment of the present invention.
  • FIG. 5 illustrates the steps for making the continuity adjustment of the present invention.
  • a pixel with normal data Nx, Ny, Nz
  • a 2 ⁇ 2 screen grid with pixels p 0 , p 1 , p 2 , and p 3 .
  • the normal data of the pixel is computed and, in step 204 , mapped into the tuple (U, V, Major, fid), after which, in step 206 , u and v are normalized to We range of [0, 1].
  • a table is accessed using the face ids to obtain a continuity adjustment code in step 210 .
  • Parameters for adjusting the u and v axes are then computed, in step 214 , and the adjusted derivatives are then computed using the computed parameters, in step 218 .
  • the LOD for the mipmap is determined and used for the texture mapping.
  • du/dx u1 ⁇ ( ⁇ u0) is a good approximation.
  • there can be a jump in the value between the faces. In this case, du/dx 1+u1 ⁇ ( ⁇ u0).
  • the texture coordinate adjustment across face boundaries involve combinations of a negation and a u/v swap.
  • the u/v values are first computed, then normalized to the [0,1]range, and then the delta is computed.
  • a texture coordinate adjustment may also have a third operation, add/subtract, to compensate for the normalization process.
  • the operations needed for texture delta coordinate adjustment across face boundaries are tabulated. If two adjacent pixels have different faces, the table has an operation code for the delta adjustment.
  • bit 0 indicates swapping of U and V
  • bits 2 : 1 are coded for indicating no flip, flip U, flip both, or flip V
  • bits 3 is the need add bit
  • bit 4 indicates u or v
  • bit 5 indicates add or subtract.
  • the transition Y X is similar but not identical. There must be a swap of u and v (bit 0 ) and a direction flip of u instead of v (bits 2 : 1 ). Moreover, there is a subtraction needed for v rather than an addition for u.
  • the code for the transition Y X is [111011].
  • the table in FIG. 6 is shown in tabular form in FIG. 7A for use by the code fragment of FIG. 7B .
  • the tabular table is indexed first by a lower order 6 bits which selects the face for the first adjacent pixel and a higher order six bits which selects the face for the second adjacent pixel. For example, if cube _adj_table [4, 3] is accessed, the face of the first adjacent pixel is +Z and the face for the second adjacent pixel is ⁇ Y.
  • the code fragment uses the table to make the continuity adjustments of the present invention.
  • flip_UV If flip_UV is true, then ret is adjusted by subtracting it from 1. This flips the sign of the u or v coordinate. Next, if add2_UV is true, ret is incremented by 1; other wise, if sub2_UV is true, ret is decremented by 1. This latter operation adjusts for a jump at the boundary (when normalized values are used).

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Character Input (AREA)

Abstract

A method of cubic mapping with texturing is described. Neighboring pixels on an object are mapped to adjacent faces of the cube, but these adjacent faces do not guarantee continuity in the texture mip-map associated with each face. Therefore, the u and v texture map coordinates are adjusted after mapping to adjacent faces to make a continuity adjustment that insures that the LOD for the texture mip-map is the same for each adjacent face. The continuity adjustment includes either switching the u coordinate with the v coordinate or negating one of the coordinates or both. Additionally, if the u and v coordinates are normalized, the normalization may be compensated by adding or subtracting unity from the adjusted coordinate. After the continuity adjustment is made an approximation to the derivative is computed and used to determine the LOD for the mip-map. Texturing can then proceed using the LOD.

Description

CROSS REFERENCE TO RELATED APPLICATION
This application claims priority to U.S. Provisional Application Ser. No. 60/449,123, filed Feb. 20, 2003, and entitled “APPROXIMATION OF LEVEL OF DETAIL CALCULATION IN CUBIC MAPPING WITHOUT ATTRIBUTE DELTA FUNCTION,” which application is incorporated herein by reference.
FIELD OF THE INVENTION
The present invention relates generally to environmental mapping in a computer graphics system and more particularly to environmental mapping and mip-mapping in a computer graphics system.
DESCRIPTION OF THE RELATED ART
Cubic mapping is a form of reflection mapping in which a cubic environmental map is used, as illustrated in FIG. 1A. The cubic environmental map is formed from six 2D maps, each of which is a surface, FACE0-FACE5 of the cube shown in FIG. 1A. Cubic mapping can be combined with mip-mapping by requiring that each 2D cubic surface is itself a mip-map, shown in FIG. 2, for which a level of detail (LOD) is specified. The LOD typically requires the calculation of the derivatives
u x , u y and v x , v y
of the texture coordinates (u, v) with respect to the screen coordinates (x, y). For example, according to Williams1, the LOD is calculated as
max ( ( u x ) 2 + ( u y ) 2 , ( v x ) 2 + ( v y ) 2 ) .
Although the derivatives can be obtained through the slope function of attributes and perspective division, for multipass texture rendering, these slope functions are too expensive to compute. Thus, an approximation of the derivative is used instead, by taking the delta difference of neighboring pixels' texture coordinates, where the screen coordinates differ by one. For example, if pixels p0 and p1 are adjacent in the x-direction, and p0 and p2 are adjacent in the y-direction, then
u x = u1 - u0 and u y = u2 - u0 ,
where u0 is the u-coordinate for pixel p0, u1 is the u-coordinate for pixel p1 and u2 is the u-coordinate for pixel p2. A problem occurs, however, in cubic mapping. There is no guarantee that the neighboring coordinates are mathematically continuous, which is required if the delta differences are to be a reasonable approximation of the derivative. This is true because u and v have been mapped according to certain rules to determine which face of the cube applies to a particular view vector and because the cubic face of neighboring pixels may not be the same.
FIG. 3 shows the assignment of u, v coordinates for each face of a cube according to the orthogonal coordinate system shown. In FIG. 3, for FACE 0, u has a−z direction and v has a−y direction. For FACE 1, u has a+z direction and v has a−y direction. For FACE 2, u has a+x direction and v has a+z direction. For FACE 3, u has a+x direction and v has a−z direction. For FACE 4, u has a+x direction and v has a−y direction, and for FACE 5, u has a−x direction and v has a−y direction.
The mapping rules are illustrated by the code fragment in FIG. 4. In this code fragment, each view vector has a before-mapping value (Nx, Ny, Nz) and an after-mapping value (U, V, Major, fid), where Nx, Ny and Nz are normals of cube surfaces, U, V are the u, v values, Major is the normal with the largest absolute value, and fid is the face id. The mapping algorithm compares the magnitude of each component normal and decides which cubic face a pixel belongs to i.e., should be mapped to. In particular, if the major is the negative x-axis, then the after-mapping value is (Nz, −Ny, −Nx, FACE_NEG_NX), if the major is the positive x-axis, then the after-mapping value is (−Nz, −Ny, Nx, FACE_POS_NX). FIG. 3 shows the cubic faces and the u, v axes for each face, given the coordinate system shown. Note that: between the +x and −x faces, the direction of u flips, but v stays the same; between the +y and −y faces, the direction of u is the same but the direction of v flips; and between the +z and −z faces, the direction of u flips but v stays the same.
The derivative is computed in accordance with the following approximation:
u=U/Major
u x = U + U / x Major + Major / x - U Major .
Therefore, after cross-multiplying and simplifying:
u x = Major · ( U / x ) - U · ( Major / x ) Major · ( Major + Major / x ) ,
where dU/dx=U1−U0 and dMajor/dx=Major1−Major0.
The above computation, however, has the problem that, in using the normalized delta, the continuity of normals of the pixels at different faces is assumed, but may not be true. Also, for each pixel, the computation requires three multiplications, two additions, and one division, all in floating point. The cost of this kind of computation is high and the precision is subject to the approximation of the normal delta. Thus, an improved computation, that avoids the continuity problem at the faces is desired.
BRIEF SUMMARY OF THE INVENTION
A method in accordance with the present invention is a method of performing cubic mapping with texturing. The method includes selecting neighboring pixels to be mapped, computing normals of the neighboring pixels, and mapping the normals of the pixels to faces of a cube, where neighboring pixels are mapped to adjacent faces of the cube and each face has an identifying number, and a LOD and a pair of texture coordinates for defining a mip-map for the face. The method further includes computing a level of detail (LOD) parameter for the texture coordinates of the neighboring pixels based on continuity-adjusted derivatives of the texture coordinates.
One advantage of the present invention is that the same LOD can be maintained for texture maps used on different faces of the cube.
Another advantage is that fewer computations are required to determine the LOD.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other features, aspects and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings where:
FIG. 1A illustrates cubic environmental mapping;
FIG. 1B illustrates spherical environmental mapping;
FIG. 2 illustrates mip-mapping;
FIG. 3 illustrates cubic faces with u, v orientation for each plane;
FIG. 4 sets forth a code fragment of the prior art;
FIG. 5 sets forth a flow chart of the present invention;
FIG. 6 illustrates a table describing the codes of the present invention;
FIGS. 7A and 7B set forth a code fragment in accordance with the present invention; and
FIG. 8 shows a flow chart of the code fragment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
Because cubic mapping is topologically similar to spherical mapping, shown in FIG. 1B, the boundary of the cubic faces should be smooth in terms of texture mapping. This means that the LOD crossing a cubic surface boundary should be smooth as well. Thus, neighboring pixels that are mapped to different faces should still have the same LOD. In the present invention, this is accomplished, by making u,v continuity adjustments after mapping, instead of using the neighboring normal and derivative formula together as in the prior art.
FIG. 5 illustrates the steps for making the continuity adjustment of the present invention. First, a pixel with normal data (Nx, Ny, Nz) in a 2×2 screen grid, with pixels p0, p1, p2, and p3, is selected, in step 200. Next, in step 202, the normal data of the pixel is computed and, in step 204, mapped into the tuple (U, V, Major, fid), after which, in step 206, u and v are normalized to We range of [0, 1]. At this point, if mip-mapping is used in the texturing, as determined in step 208, a table is accessed using the face ids to obtain a continuity adjustment code in step 210. Parameters for adjusting the u and v axes are then computed, in step 214, and the adjusted derivatives are then computed using the computed parameters, in step 218. Finally, the LOD for the mipmap is determined and used for the texture mapping.
In making the continuity adjustments, there are three cases to consider. In the first case, neighboring pixels have different u values, but these values differ only in sign. For example, u1=Nx/Nz but u0=−Nx/Nz. Therefore, du/dx=u1−(−u0) is a good approximation. Alternatively, there can be a jump in the value between the faces. In this case, du/dx=1+u1−(−u0).
In the second case, neighboring pixels have u and v swapped; the value of u1=Nx/Nz is changed to Ny/Nz. In this case, du/dx=u1−v0 is a good approximation.
In the third case, neighboring pixels have v and Major swapped; the value of u1=Nx/Nz is changed to Nx/Ny. Because at the boundary of the faces, Nz=Ny, du=u1−u0 is a good approximation.
All other cases involving face changes are combinations of the above cases. Therefore, the texture coordinate adjustment across face boundaries involve combinations of a negation and a u/v swap. In practice, the u/v values are first computed, then normalized to the [0,1]range, and then the delta is computed. A texture coordinate adjustment may also have a third operation, add/subtract, to compensate for the normalization process.
To simplify a hardware implementation of the present invention, the operations needed for texture delta coordinate adjustment across face boundaries are tabulated. If two adjacent pixels have different faces, the table has an operation code for the delta adjustment.
The table is shown in FIG. 6. The bit definitions of the table entries are set forth below the table. Bit 0 indicates swapping of U and V, bits 2:1 are coded for indicating no flip, flip U, flip both, or flip V,. bits 3 is the need add bit, bit 4 indicates u or v, and bit 5 indicates add or subtract.
Reference to FIG. 3 is helpful to understanding the table. For example, if adjacent pixels have faces+x and +y, the orientations of the u, v axis from the +x face must be adjusted to match the +y face to maintain continuity. This adjustment requires that the u, v axes be swapped and that the v-axis direction be flipped. The table indicates that for X
Figure US07262777-20070828-P00001
Y, a code of [001111] is correct. The lowest order bit (bit 0) of the entry indicates that u and v are swapped, the next two bits (bits 2, 1) indicate that v is flipped, the next bit (bit 3) indicates that an add is needed, and bits 5 and 4 indicate that u is the subject of the add. The transition Y
Figure US07262777-20070828-P00001
X is similar but not identical. There must be a swap of u and v (bit 0) and a direction flip of u instead of v (bits 2:1). Moreover, there is a subtraction needed for v rather than an addition for u. The code for the transition Y
Figure US07262777-20070828-P00001
X is [111011].
The table in FIG. 6 is shown in tabular form in FIG. 7A for use by the code fragment of FIG. 7B. The tabular table is indexed first by a lower order 6 bits which selects the face for the first adjacent pixel and a higher order six bits which selects the face for the second adjacent pixel. For example, if cube _adj_table [4, 3] is accessed, the face of the first adjacent pixel is +Z and the face for the second adjacent pixel is −Y.
The code fragment, shown in FIG. 7B and illustrated in FIG. 8 in flow chart form, uses the table to make the continuity adjustments of the present invention. In the code fragment, certain Boolean variables, swap_UV, flip_UV, add2_UV, sub2_UV, are computed after indexing the table with the face ids of the adjacent pixels. As discussed above, if the adjacent pixels map to the +X and +Y faces, then cube _adj_table[0,1 ]=0×0f=[001111] is chosen from the table. Next, the swap_UV variable is tested. If swap_UV is true and the case is type 1 or swap_UV is false and the case is type 0, then u is assigned to ret; otherwise v is assigned to ret. If flip_UV is true, then ret is adjusted by subtracting it from 1. This flips the sign of the u or v coordinate. Next, if add2_UV is true, ret is incremented by 1; other wise, if sub2_UV is true, ret is decremented by 1. This latter operation adjusts for a jump at the boundary (when normalized values are used).
Although the present invention has been described in considerable detail with reference to certain preferred versions thereof, other versions are possible. Therefore, the spirit and scope of the appended claims should not be limited to the description of the preferred versions contained herein.

Claims (18)

1. A method of performing cubic mapping with texturing, comprising:
selecting neighboring pixels to be mapped;
mapping each selected pixel to a cube face based on the magnitude of a normal vector for each face;
for each of the faces to which the selected pixels are mapped, assigning a face id and defining the orientations of the texture axes of the faces in terms of the normal vectors of the cube faces, said texture axes being current texture axes;
if the neighboring pixels do not have the same face id, changing the current texture axes of at least one of the faces based on assigned face ids to make the current texture axes consistent and continuous between the faces;
computing an approximation to derivatives of the texture coordinates based on the current texture axes; and
computing, based on continuity-adjusted derivatives, a level of detail (LOD) parameter for the texturing of said pixels.
2. A method of performing cubic mapping as recited in claim 1, wherein the step of changing the current texture axes based on the assigned face ids:
obtaining a continuity adjustment code based on the assigned face ids; and
updating the current texture axes of at least one of the faces based on the adjustment code to make the current texture axes consistent and continuous between the faces.
3. A method of performing cubic mapping as recited in claim 2, wherein the continuity adjustment code is obtained from a table of codes, the table being indexed by the face ids.
4. A method of performing cubic mapping as recited in claim 2,
wherein the approximation to the derivative of the texture coordinates is based on the difference between the texture coordinates of the neighboring pixels; and
wherein updating the current texture axes includes swapping orientation of the current texture axes of one of the faces.
5. A method of performing cubic mapping as recited in claim 4,
further comprising the step of normalizing the texture coordinates prior to computing the LOD parameter; and
wherein updating the current texture axes includes compensating for the normalizing step.
6. A method of performing cubic mapping as recited in claim 5, wherein the step of compensating includes adding or subtracting one.
7. A method of performing cubic mapping as recited in claim 2,
wherein the approximation to the derivative of the texture coordinates is based on the difference between the texture coordinates of the neighboring pixels; and
wherein updating the current texture axes includes flipping the orientation of one of the current texture axes of one of the faces.
8. A method of performing cubic mapping as recited in claim 7,
further comprising the step of normalizing the texture coordinates prior to computing the LOD parameter; and
wherein updating the current texture axes includes compensating for the normalizing step.
9. A method of performing cubic mapping as recited in claim 8, wherein the step of compensating includes adding or subtracting one.
10. A program storage device readable by a machine tangibly embodying a program of instructions executable by a machine to perform a method of cubic mapping with texturing, said method comprising:
selecting neighboring pixels to be mapped;
mapping each selected pixel to a cube face based on the magnitude of a normal vector for each face;
for each of the faces to which the selected pixels are mapped, assigning a face id and defining the orientations of the texture axes of the faces in terms of the normal vectors of the cube faces, said texture axes being current texture axes:
if the neighboring pixels do not have the same face id, changing the current texture axes of at least one of the faces based on assigned face ids to make the current texture axes consistent and continuous between the faces; and
computing an approximation to derivatives of the texture coordinates based on the current texture axes; and
computing, based on the approximations of the derivatives, a level of detail (LOD) parameter for the texturing of said pixels.
11. The program storage device of claim 10, wherein the step of changing the current texture axes based on the assigned face ids includes:
obtaining a continuity adjustment code based on the assigned face ids;
updating the current texture axes of at least one of the faces based on the adjustment code to make the current texture axes consistent and continuous between the faces.
12. The program storage device of claim 11, wherein the continuity adjustment code is obtained from a table of codes, the table being indexed by the face ids.
13. The program storage device of claim 11,
wherein the approximation to the derivative of the texture coordinates is based on the difference between the texture coordinates of the neighboring pixels; and
wherein updating the current texture axes includes swapping orientation of the current texture axes of one of the faces.
14. The program storage device of claim 13,
further comprising the step of normalizing the texture coordinates prior to computing the LOD parameter; and
wherein updating the current texture axes includes compensating for the normalizing step.
15. The program storage device of claim 14, wherein the step of compensating includes adding or subtracting one.
16. The program storage device of claim 11,
wherein the approximation to the derivative of the texture coordinates is based on the difference between the texture coordinates of the neighboring pixels; and
wherein updating the current texture axes includes flipping the orientation of one of the current texture axes of one of the faces.
17. The program storage device of claim 16,
further comprising the step of normalizing the texture coordinates prior to computing the LOD parameter; and
wherein updating the current texture axes includes compensating for the normalizing step.
18. The program storage device of claim 17, wherein the step of compensating includes adding or subtracting one.
US10/784,113 2003-02-20 2004-02-20 Approximation of level of detail calculation in cubic mapping without attribute delta function Expired - Lifetime US7262777B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/784,113 US7262777B2 (en) 2003-02-20 2004-02-20 Approximation of level of detail calculation in cubic mapping without attribute delta function

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US44912303P 2003-02-20 2003-02-20
US10/784,113 US7262777B2 (en) 2003-02-20 2004-02-20 Approximation of level of detail calculation in cubic mapping without attribute delta function

Publications (2)

Publication Number Publication Date
US20050017983A1 US20050017983A1 (en) 2005-01-27
US7262777B2 true US7262777B2 (en) 2007-08-28

Family

ID=34794161

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/784,113 Expired - Lifetime US7262777B2 (en) 2003-02-20 2004-02-20 Approximation of level of detail calculation in cubic mapping without attribute delta function

Country Status (3)

Country Link
US (1) US7262777B2 (en)
CN (1) CN1310191C (en)
TW (1) TWI238975B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9905036B2 (en) 2014-10-10 2018-02-27 Samsung Electronics Co., Ltd. Graphics processing unit for adjusting level-of-detail, method of operating the same, and devices including the same

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6710006B2 (en) * 2000-02-09 2004-03-23 Shell Oil Company Non-symmetrical ligands and catalyst systems thereof for ethylene oligomerization to linear alpha olefins
US7626591B2 (en) * 2006-01-24 2009-12-01 D & S Consultants, Inc. System and method for asynchronous continuous-level-of-detail texture mapping for large-scale terrain rendering
US7825937B1 (en) * 2006-06-16 2010-11-02 Nvidia Corporation Multi-pass cylindrical cube map blur
US10783696B2 (en) 2014-04-05 2020-09-22 Sony Interactive Entertainment LLC Gradient adjustment for texture mapping to non-orthonormal grid
US9710957B2 (en) 2014-04-05 2017-07-18 Sony Interactive Entertainment America Llc Graphics processing enhancement by tracking object and/or primitive identifiers
US9710881B2 (en) 2014-04-05 2017-07-18 Sony Interactive Entertainment America Llc Varying effective resolution by screen location by altering rasterization parameters
US10068311B2 (en) 2014-04-05 2018-09-04 Sony Interacive Entertainment LLC Varying effective resolution by screen location by changing active color sample count within multiple render targets
US9652882B2 (en) 2014-04-05 2017-05-16 Sony Interactive Entertainment America Llc Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location
US9495790B2 (en) * 2014-04-05 2016-11-15 Sony Interactive Entertainment America Llc Gradient adjustment for texture mapping to non-orthonormal grid
US9836816B2 (en) 2014-04-05 2017-12-05 Sony Interactive Entertainment America Llc Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport
US11302054B2 (en) 2014-04-05 2022-04-12 Sony Interactive Entertainment Europe Limited Varying effective resolution by screen location by changing active color sample count within multiple render targets
KR102701851B1 (en) * 2016-12-20 2024-09-02 삼성전자주식회사 Apparatus and method for determining LOD(level Of detail) for texturing cube map
KR102412955B1 (en) * 2016-12-28 2022-06-24 소니그룹주식회사 Generating device, identification information generating method, reproducing device and image generating method
CN108287791B (en) * 2018-01-17 2021-02-26 福建天晴数码有限公司 Detection method for texture resource allocation of virtual reality software and storage medium
CN112055216B (en) * 2020-10-30 2021-01-22 成都四方伟业软件股份有限公司 Method and device for rapidly loading mass of oblique photography based on Unity

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5912670A (en) * 1996-08-05 1999-06-15 International Business Machines Corporation Method and apparatus for overlaying a bit map image on an environment map
US5923334A (en) * 1996-08-05 1999-07-13 International Business Machines Corporation Polyhedral environment map utilizing a triangular data structure
US6034691A (en) * 1996-08-30 2000-03-07 International Business Machines Corporation Rendering method and apparatus
US6236405B1 (en) * 1996-07-01 2001-05-22 S3 Graphics Co., Ltd. System and method for mapping textures onto surfaces of computer-generated objects
US6246422B1 (en) * 1998-09-01 2001-06-12 Sun Microsystems, Inc. Efficient method for storing texture maps in multi-bank memory
US6424351B1 (en) * 1999-04-21 2002-07-23 The University Of North Carolina At Chapel Hill Methods and systems for producing three-dimensional images using relief textures
US6664963B1 (en) * 2000-05-31 2003-12-16 Nvidia Corporation System, method and computer program product for programmable shading using pixel shaders
US6744430B1 (en) * 1999-07-21 2004-06-01 Sega Enterprises, Ltd. Image processing method and its apparatus
US6765584B1 (en) * 2002-03-14 2004-07-20 Nvidia Corporation System and method for creating a vector map in a hardware graphics pipeline
US6768492B2 (en) * 2000-10-06 2004-07-27 Microsoft Corporation Texture tiling with adjacency information
US6850242B1 (en) * 1999-09-09 2005-02-01 Namco Ltd. Image generating system and program
US6975319B1 (en) * 2000-03-24 2005-12-13 Nvidia Corporation System, method and article of manufacture for calculating a level of detail (LOD) during computer graphics processing

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3647487B2 (en) * 1994-12-02 2005-05-11 株式会社ソニー・コンピュータエンタテインメント Texture mapping device
US6292193B1 (en) * 1998-07-30 2001-09-18 Compaq Computer Corporation Techniques for anisotropic texture mapping using multiple space-invariant filtering operations per pixel
US6473090B1 (en) * 1999-11-03 2002-10-29 Evans & Sutherland Computer Corporation MIP mapping based on material properties
CN1301480C (en) * 2002-03-27 2007-02-21 深圳市特得维技术有限公司 Computerized 3D visual color scan system and its scanning mode

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6236405B1 (en) * 1996-07-01 2001-05-22 S3 Graphics Co., Ltd. System and method for mapping textures onto surfaces of computer-generated objects
US5912670A (en) * 1996-08-05 1999-06-15 International Business Machines Corporation Method and apparatus for overlaying a bit map image on an environment map
US5923334A (en) * 1996-08-05 1999-07-13 International Business Machines Corporation Polyhedral environment map utilizing a triangular data structure
US6034691A (en) * 1996-08-30 2000-03-07 International Business Machines Corporation Rendering method and apparatus
US6246422B1 (en) * 1998-09-01 2001-06-12 Sun Microsystems, Inc. Efficient method for storing texture maps in multi-bank memory
US6424351B1 (en) * 1999-04-21 2002-07-23 The University Of North Carolina At Chapel Hill Methods and systems for producing three-dimensional images using relief textures
US6744430B1 (en) * 1999-07-21 2004-06-01 Sega Enterprises, Ltd. Image processing method and its apparatus
US6850242B1 (en) * 1999-09-09 2005-02-01 Namco Ltd. Image generating system and program
US6975319B1 (en) * 2000-03-24 2005-12-13 Nvidia Corporation System, method and article of manufacture for calculating a level of detail (LOD) during computer graphics processing
US6664963B1 (en) * 2000-05-31 2003-12-16 Nvidia Corporation System, method and computer program product for programmable shading using pixel shaders
US6768492B2 (en) * 2000-10-06 2004-07-27 Microsoft Corporation Texture tiling with adjacency information
US6765584B1 (en) * 2002-03-14 2004-07-20 Nvidia Corporation System and method for creating a vector map in a hardware graphics pipeline

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"Cube Maps," NVIDIA Corporation, 200a. http://developer.nvidia.com/object/cube<SUB>-</SUB>maps.html. *
"OpenGL Cube Map Texturing," NVIDIA Corporation, 1999. http://developer.nvidia.com/object/cube<SUB>-</SUB>map<SUB>-</SUB>ogl<SUB>-</SUB>tutorial.html. *
"Per-Pixel Lighting Intro," NVIDIA Corporation, 2000. http://developer.nvidia.com/object/perpixel<SUB>-</SUB>lighting<SUB>-</SUB>intro.html. *
NVIDIA document listing including publication dates for documents cited herein. http://developer.nvidia.com/object/all<SUB>-</SUB>docs<SUB>-</SUB>by<SUB>-</SUB>date.html. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9905036B2 (en) 2014-10-10 2018-02-27 Samsung Electronics Co., Ltd. Graphics processing unit for adjusting level-of-detail, method of operating the same, and devices including the same

Also Published As

Publication number Publication date
TW200500955A (en) 2005-01-01
CN1310191C (en) 2007-04-11
US20050017983A1 (en) 2005-01-27
TWI238975B (en) 2005-09-01
CN1624722A (en) 2005-06-08

Similar Documents

Publication Publication Date Title
US7262777B2 (en) Approximation of level of detail calculation in cubic mapping without attribute delta function
US7576751B2 (en) Pixel center position displacement
US6636212B1 (en) Method and apparatus for determining visibility of groups of pixels
US6226012B1 (en) Method and apparatus for accelerating the rendering of graphical images
US6201545B1 (en) Method and apparatus for generating sub pixel masks in a three dimensional graphic processing system
Veksler Fast variable window for stereo correspondence using integral images
US6741247B1 (en) Shading 3-dimensional computer generated images
US7239319B2 (en) Rendering outline fonts
US6320580B1 (en) Image processing apparatus
US6373495B1 (en) Apparatus and method for texture mapping using multiple levels of detail
JP3675488B2 (en) Circuit for determining non-homogeneous secondary perspective texture mapping coordinates using linear interpolation
EP2330560A1 (en) Method and device for processing vector graphics
US5739826A (en) Polygon display based on x coordinates of edges on scan line
CN111383311B (en) Normal map generation method, device, equipment and storage medium
US6172680B1 (en) Method and apparatus for a three-dimensional graphics processing system including anti-aliasing
JPH0927039A (en) Method and apparatus for computation of texel value for display of texture on object
US6175368B1 (en) Method and apparatus for object rendering including bump mapping
US7081903B2 (en) Efficient movement of fragment stamp
CN110475115B (en) Screen body picture crosstalk testing method and device and storage medium
CN114092575B (en) Digital earth real-time coloring method and device
US7924289B2 (en) Method for determining weighting factors for the color calculation of a color value of texels for a footprint
US7015930B2 (en) Method and apparatus for interpolating pixel parameters based on a plurality of vertex values
US20050012750A1 (en) Curved surface subdivision apparatus
CN112184685B (en) Image data determination method and device
Schmalstieg et al. Real-time bounding box area computation

Legal Events

Date Code Title Description
AS Assignment

Owner name: VIA TECHNOLOGIES, INC., TAIWAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LIAO, QUN FENG (FRED);REEL/FRAME:014813/0906

Effective date: 20040217

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12