WO2003001459A1 - Method, apparatus, and article of manufacture for associating objects with regions in coordinate space - Google Patents
Method, apparatus, and article of manufacture for associating objects with regions in coordinate space Download PDFInfo
- Publication number
- WO2003001459A1 WO2003001459A1 PCT/IB2001/001668 IB0101668W WO03001459A1 WO 2003001459 A1 WO2003001459 A1 WO 2003001459A1 IB 0101668 W IB0101668 W IB 0101668W WO 03001459 A1 WO03001459 A1 WO 03001459A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- subdivision
- name
- region
- minimal
- binary
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/30—Clipping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
Definitions
- the present invention relates generally to computer graphics and more particularly to an improved method, apparatus, and article of manufacture for localizing n-dimensional objects in n-dimensional scene space.
- Real-time volume rendering of three-dimensional objects on a two-dimensional display medium is a processor intensive operation due to the algorithmic complexity of volume visualization and the enormous amount of data required to be processed.
- the octree space partitioning method is used for the correct representation of solid objects in a 3d environment, and is the basis for many modeling and rendering systems.
- the primary objective of the octree space partitioning method is to reduce the number of comparisons required to determine which surfaces in a scene need to be processed for ray tracing, collision detection, visibility determination, or similar calculations.
- the octree subdivision method is presented in the paper "Space Subdivision for Fast Ray Tracing" by Glassner, Andrew S., IEEE Computer Graphics and Applications, Vol. 4, No. 10, October 1984, pp. 15-22.
- the octree subdivision method divides the space including objects into 8 sub-spaces. In this method, the subdivision is continued until the number of the object included by a sub-space comes up to only one.
- the cells obtained in the above-mentioned way have a tree structure, with each unit having of 8 leaves.
- Octrees can provide a significant reduction in the time needed to sort polygons in a scene for proper display and are ideal for high-performance games that consist primarily of empty space where the objects within this space show large variations in relative size (for example, flight simulators).
- the present solution overcomes the aforementioned problems of the prior art by specifically providing an improved and thus, efficient technique, for associating objects with regions in coordinate space, which can be implemented in hardware.
- a novel system, method and article of manufacture for, among other things, associating objects with regions in scene space comprising the steps of (a) subdividing said scene space into regions according to a predefined mode of subdivision based upon a unique binary naming convention (to be further described herein); and (b) for each region including said scene space, associating a list of objects that appear in that region or scene space with that region or scene space using the aforementioned binary naming convention.
- Figure 1 illustrates an exemplary geometric transformation of a region in two- dimensional space in accordance with the teachings herein.
- Figure 2 illustrates an exemplary geometric transformation of a region in three- dimensional space in accordance with the teachings herein.
- Figures 3 A and 3B each illustrate an exemplary geometric transformation of several surfaces/polygons in accordance with the teachings herein.
- Figures 4A, 4B, 4C and 4D together illustrate a unit square being progressivly subdivided in accordance with the teachings herein.
- Figures 5A and 5B each illustrate a bounding volume in accordance with the teachings herein.
- Figure 6 illustrates how a name of a subdivision is determined in accordance with the teachings herein.
- Figure 7 illustrates an exemplary data structure for storing a plurality of subdivisions in accordance with the teachings herein.
- Figure 8 illustrates a table demonstaring how the indices in the array of subdivisions are determined in accordance with the teachings herein.
- Figure 9 illustrates an exemplary block diagram of several functional elements comprising a graphics processing system in accordance with the teachings herein.
- Figure 10 illustrates an exemplary process flow diagram of one functional element of the graphics processing system of Figure 9 in accordance with the teachings herein.
- the present invention is embodied in the system configuration, method of operation and article of manufacture or product, such as a computer-readable medium, for example, a floppy disk, a conventional hard disk, CD-ROM, Flash ROM, nonvolatile ROM, RAM and any other equivalent computer memory device, generally shown in Figures 1 - 10.
- a computer-readable medium for example, a floppy disk, a conventional hard disk, CD-ROM, Flash ROM, nonvolatile ROM, RAM and any other equivalent computer memory device, generally shown in Figures 1 - 10.
- a computer-readable medium for example, a floppy disk, a conventional hard disk, CD-ROM, Flash ROM, nonvolatile ROM, RAM and any other equivalent computer memory device, generally shown in Figures 1 - 10.
- the present solution provides a fast and efficient method for associating objects with regions in which they appear. Namely, the present solution quickly and efficiently associates surfaces with regions in coordinate space using a finite number of operations.
- Figure 1 illustrates a transformation of a region 2 into two-dimensional space creating a unit square 5.
- Figure 2 illustrates a transformation of a region 4 into three-dimensional space creating a unit square cube 6.
- the methods for determining coordinate transformation of arbitrary region into unit cube are well known in the art.
- Figure 3A illustrates a plurality of polygonal arbitrary shaped objects 10 and 12, which are at least partially located inside a region 14 in two-dimensional space with coordinate system XOY.
- Object 12 is only partially located inside region 14. Therefore, only the indicated hatched part of object 12 will be further considered.
- region 14 is transformed into unit square 16.
- the same coordinate transformation is applied to objects 10 in region 14.
- Objects 10 (Figure 3A) are transformed into objects 18 in unit square 16 and object 12 is transformed into object 17 in unit square 16.
- FIGURE 4 MODE OF SUBDIVISION AND NAMING CONVENTION USED FOR ASSIGNING A NAME TO A REGION
- a unit volume here a square
- the described mathematical mode of subdivision may be done conceptually and not necessarily physically.
- Each subdivision is associated with a "name”.
- the name for a subdivision is constructed during each division step of the unit square or cube. Initially the unit square or cube is divided into two equal rectangles. The linear subspace in n-dimensional case corresponds to the straight- line segment in two-dimensions. The direction of this line segment is parallel to any one of the coordinate axes. An "empty" name is assigned to an initial unit cube or square.
- the name of rectangular subdivision 22 is constructed from the name of previous subdivision by adding the symbol zero (0) to the right hand side of the name of initial subdivision ( Figure 4A).
- the name of rectangular subdivision 24 is constructed from the name of previous subdivision 20 by adding unit symbol (1) to the right hand side of the name of initial subdivision.
- the general procedure for constructing the name of arbitrary subdivision of unit cube is executed in the following steps: a) For initial rectangular subdivision name is empty (i.e. has no symbols). b) Dividing of subdivision results in appearance of two new rectangular subdivisions. For each new rectangular subdivision symbol 0 or 1 is added to the name on the right hand side. Symbol zero is added to the name of rectangular subdivision nearest to coordinate origin and 1 to the farthest.
- the names of the subdivisions are stored in memory for subsequent processing.
- Figures 4A, 4B, 4C, 4D in which the results, including the naming convention, of progressively subdividing a unit square in two-dimensional space in accordance with the teachings herein are shown.
- Figure 4A the initial area corresponding to the dimensions of a unit square 20 is assigned to EMPTY.
- Figure 4B illustrates the results of subdividing the unit square 20 into two equal rectangular subdivision 22 and 24 wherein division line segment 26 is parallel to the y-axis. Rectangular subdivision 22 is closer to the coordinate origin than rectangular subdivision 24. Hence, in accordance with the above naming convention, a zero (0) is added to the right hand side of the name of rectangular subdivision 22 and a one (1) is added to the right hand side of the name of rectangular subdivision 24. Thus, rectangular subdivision 22 is named or coded 0 and rectangular subdivision 24 is named or coded 1.
- Figure 4C illustrates the results of further subdividing rectangular region 24 into two equal rectangular subdivisions 32 and 34 wherein division line segment 28 is parallel to the x- axis. Rectangular subdivision 32 is closer to the x-axis than rectangular subdivision 34. Hence, in accordance with the above naming convention, a zero (0) is added to the right hand side of rectangular subdivision 32 and a one (1) is added to the right hand side of rectangular subdivision 34. Thus, rectangular subdivision 32 is named 11 and rectangular subdivision 34 is named 10.
- Figure 4D illustrates the results of still further subdividing rectangular region 34 into two equal rectangular subdivisions 38 and 39 wherein division line segment 36 is parallel to the y- axis. Rectangular subdivision 38 is closer to the coordinate origin than rectangular subdivision 39. Hence, in accordance with the above naming convention, a zero (0) is added to the right hand side of the name of rectangular subdivision 38 and a one (1) is added to the right hand side of the name of rectangular subdivision 39. Thus, rectangular subdivision 38 is named 110 and rectangular subdivision 39 is named 111.
- the forgoing process is repeated until a predefined maximum number of subdivisions is reached.
- the number of symbols in the name defines the number of divisions.
- the names of all subdivision are stored in memory.
- FIGURE 5 MINIMAL SUBDIVISION FOR A BOUNDING RECTANGLE
- Figures 5A and 5B each illustrate a conventional bounding volume, namely a bounding rectangle, in accordance with the teachings herein.
- a bounding rectangle for an object is a rectangule in two-dimensional space, with sides parallel to the coordinate planes, that contains (or surrounds) the object.
- Other types of bounding volumes, e.g., bounding sphere, may also be used.
- Figure 5 A illustrates a two-dimensional bounding rectangle 40 in unit square 20 surrounding an object 42.
- Figure 5B there is shown two bounding rectangles abhe and abed contain part of the object 42.
- the boundary edges of bounding rectangles 40 (sides of rectangle 40 in Figure 5 A), abhe and abed, are parallel to the coordinate axes.
- a minimal subdivision for a bounding rectangle is defined as a subdivision containing a diagonal segment of the bounding box, which cannot be further divided in accordance with the mode of subdivision described herein without intersecting the bounding box. That is, minimal subdivisions for a bounding box are defined as subdivisions, which contain the entire bounding box. In order to determine, whether subdivision contains bounding box it is enough to determine if subdivision contains diagonal segment of the bounding box.
- the minimal subdivision for bounding box is defined as the minimal among subdivisions, which contains the entire bounding box. Minimal subdivision is determined for diagonal segment of bounding box.
- Figures 5 A and 5B illustrate this point.
- bounding rectangle 40 encloses object 42.
- bounding rectangles abed and abhe encloses certain parts of object 42.
- left subdivision 44 of unit cube 20 contains object with bounding rectangle 40.
- Subdivision 44 contains diagonal segment 46 of bounding rectangle 40.
- subdivision 44 contains entire bounding rectangle 40 of object 42.
- Subdivision 44 is minimal subdivision for bounding rectangle 40.
- the next division line 48 ( Figure 5B) of subdivision 44 intersects with bounding rectangle 40.
- side ae of the bounding rectangle abhe and side ad of the bounding rectangle abed coincide with division line 48 of the bounding rectangle 44.
- Both boundmg rectangles abhe and abed are contained inside subdivision 52, which resulted from division of subdivision 44 by division line 48.
- Subdivision 52 is a minimal subdivision for bounding rectangle abed since the division line 50 of subdivision 52 intersects with bounding rectangle abed and its diagonal segment bd.
- Subdivision 52 is not minimal for bounding rectangle abhe since the division line 50 of subdivision 52 does not intersect with bounding rectangle abhe.
- FIGURE 6 DETERMINING A MINIMAL SUBDIVISION USING DIAGONAL SEGMENT
- FIG. 6A and 6B illustrate a technique for determining a minimal subdivision for a line segment L (that is, a diagonal segment from an arbitrary bounding box) in normalized decimal two-dimensional space having as endpoints, endpoint 1 (xl, yl) and endpoint 2 (x2, y2) whose corresponding decimal values are endpoint 1 (0.55, 0.57) and endpoint 2 (0.69, 0.81) respectively.
- endpoint 1 (0.55, 0.57) are converted into endpoint 1 (100011000000, 100100010000) and the coordinates of endpoint 2 (0,69, 0.81) are converted into endpoint 2 (101100000000, 110011110000).
- an x-coordinate prefix and a y-coordinate prefix are determined.
- the vertical doted line in Figure 6 denotes this part.
- the equivalent initial part of the two binary strings for the two x-coordinates of the two endpoints is further defined as the x-coordinate prefix.
- the equivalent initial part of the two binary strings for the two y-coordinates of the two endpoints is further defined as the y-coordinate prefix.
- a name of a minimal subdivision is determined by combining the x-coordinate prefix and the y-coordinate prefix according to the following procedure. Specifically, if the x- coordinate prefix is empty then the name of minimal subdivision coincides with the name of initial subdivision, that is, EMPTY. Otherwise, the name of the minimal subdivision is constructed by copying in turn one symbol from the x-coordinate prefix and then one symbol from the y-coordinate prefix, repeating this process until there are no more binary symbols to copy in either of one of the x- or y-coordinate prefix.
- the binary name that is constructed is 110.
- the subdivision with name 110 is a minimal subdivision for the bounding rectangle having diagonal line segment L.
- a subdivision is associated with one or more objects (and vice versa) by simply processing the diagonal segment of an object's bounding rectangle to determine the name of the minimal/smallest subdivision at least partially containing the bounding rectangle and storing this information in one or more data structures for subsequent processing.
- Figure 7 is an example of one or more practical data structures, which may be used in the present instance to store a minimum subdivision data and bounding rectangle data.
- array 60 an array of all subdivisions 60
- the length of array 60 is based on a predefined size of the smallest subdivision.
- the smallest size of a subdivision is determined in accordance with the desired image quality or resolution. Typically, this occurs when the smallest size of a subdivision is an order of pixel size.
- the smallest subdivision may be defined according to the natural limitations of the task. For example, in certain instances the smallest predefined subdivision may be greater or less than a single pixel size. Accordingly, the length of the array(s) is equal to 2 N - 1, where N is maximum number of subdivisions of the smallest predefined size.
- Each element of array 60 references an array of bounding rectangles 64 (array 64).
- Each element 62 of array 64 references a bounding box, which is entirely contained in the subdivision.
- Array 60 is constructed in accordance with the following procedure. Each subdivision's array index is derived from its name. One technique for determining a given subdivision's array index follows, bearing in mind that what follows is merely exemplary as other techniques may also be used.
- the initial undivided area corresponding to the dimensions of a unit cube or square named/coded EMPTY is stored at index zero (0).
- the indices of these child subdivisions are determined as follows: For the child subdivision, which is nearest to the coordinate origin, its index is determined as follows: an offset equal to 1 is added to the index of the parent subdivision.
- index of the parent subdivision For the remaining child subdivision, its index is determined as follows: an offset equal to the total number of possible subdivisions of the parent subdivision is added to the index of the parent subdivision.
- the initial undivided area corresponding to the dimensions of a unit cube or square named/coded EMPTY is stored at index zero (0).
- the indices of these child subdivisions are determined as follows:
- offset 1 is added to the index of subdivision, which was divided.
- offset which is equal to the number of possible subdivisions in the nearest subdivision, is added to the index of subdivision, which was divided.
- FIGURE 8 - ARRAY 60 INDICES Figures 8A and 8B graphically illustrate the above two techniques.
- Figure 8A depicts the first technique.
- Figure 8B depicts the second technique.
- array indices are derived from the names of the subdivisions shown in Figures 4A, 4B, 4C and 4D. In this example, the total number of possible subdivisions is set to eight.
- FIGURE 9 PHYSICAL CONFIGURATION OF GRAPHICS PROCESSING SYSTEM 1
- the system 1 comprises a plurality of interconnecting components, namely, a pre-processing unit 72, a processing unit 76, a memory unit 78, and an index-memory unit 76.
- Processing unit 76 further comprises a plurality of interconnecting subcomponents, namely, a determining bounding rectangle component 80, a minimal subdivision unit 82, and an associating objects with subdivisions unit 84, and a index-memory unit 86.
- an input bus 70 and an output bus 79 there is included in system 1 an input bus 70 and an output bus 79.
- Pre-processing unit 72 receives object data comprising surfaces and performs certain preprocessing activities on the object data, such as transformations, culling, etc. Thereafter, pre- processed surface data is transmitted to processmg unit 74 for further processing.
- Processing unit 74 receives the pre-processed data from pre-processing unit 72 and, together with memory unit 78 and index-memory unit 76, associates surfaces with subdivisions in accordance with the present solution.
- Object data including associated surface data describing a scene in coordinate space is transferred via input bus 70 to preprocessing unit 72.
- Pre-processing unit 72 defines a unit volume, (for example, square/cube in two/three- dimensional space, respectively) and transforms object data into normalized-coordinate data, and determines bounding volumes (in the present instance a bounding rectangles) for objects/surfaces/polygons or parts of these objects/surfaces/polygons comprising the scene according to conventional techniques.
- a unit volume for example, square/cube in two/three- dimensional space, respectively
- bounding volumes in the present instance a bounding rectangles
- preprocessing unit 72 transmits transformed object data and associated bounding rectangle data to processing unit 74 for subsequent processing.
- Processing unit 74 associates objects with subdivisions by directly manipulating the bounding rectangles of the objects instead of the objects themselves. To perform these functions, processing unit 74 includes several interconnecting components, namely, processing bounding box unit 80, a minimal subdivision unit 82 ("Component 82"), an associating objects with subdivisions unit 84 (“Component 84"), and a stack-memory unit 86 (“Component 86").
- Component 80 receives each bounding rectangle from unit 72 and determines which minimal subdivision to which it belongs.
- Component 82 receives each bounding rectangle from unit 72 and determines which minimal subdivision to which it belongs. Specifically, Component 82 determines a minimal subdivision for each bounding box, that is, the smallest subdivision containing the bounding rectangle in accordance with the teachings herein. Recall that a minimal subdivision for a bounding rectangle is defined as a subdivision containing a diagonal segment of the bounding box, which cannot be further divided in accordance with the mode of subdivision described herein without intersecting the bounding box. In doing so, a diagonal of the current bounding rectangle is calculated and the endpoints of boundmg rectangle is used to determine the name of subdivision containing segment.
- the minimal subdivision for the current bounding box, the bounding rectangle and the object itself are transferred to Component 84 for subsequent processing.
- Component 84 associates objects with subdivisions using bounding rectangle information. That is, for each subdivision, Component 84 determines all bounding boxes, which are contained entirely inside the instant subdivision. In performing this function, Component 84 constructs and stores object, subdivision and bounding rectangle information in one or more data structures for subsequent processing. Specifically, Component 84 constructs and stores array 60 in index-memory unit 76 and constructs and stores the plurality of arrays 64 in memory unit 78. In a preferred embodiment of the present solution, processing unit 74 is capable of executing in parallel read/write operations from/to memory unit 78 and index-memory unit 76.
- Component 86 receives from and transmits to Component 80 of unit 74 current bounding box, object data and associated subdivision information for storage thereto during the operation of graphics processing system 1.
- array 60 is stored in index-memory unit 76 and the plurality of arrays 64 are stored in memory unit 78.
- Processing unit 74 reads/writes from/to memory unit 78 and index-memory unit 76 in parallel.
- OUTPUT BUS 79 Finally, associated surface/subdivision information is transmitted via output bus 79 for further processing within the graphics pipeline.
- Figure 10 illustrates an exemplary process flow diagram of Component 80 in accordance with the teachings herein.
- Block 90 activates component 82 for determining a minimal subdivision for the current bounding rectangle.
- execution passes to control block 92.
- control block 92 depending on a particular defined task, one of two distinct paths process flow/execution is performed. Namely, execution either passes to block 94 or to block 96.
- Block 94 activates Component 84 for associating objects with subdivisions in accordance with the teachings herein.
- the current object is broken up into parts and bounding rectangles for these parts are determined. These parts are considered as new objects and pushed to stack-memory (i.e., Component 86) together with their bounding rectangles.
- stack-memory i.e., Component 86
- the first object in the stack-memory and its bounding rectangle data is set as the current object, popped from stack and transmitted for subsequent processing to block 90.
- the remaining objects and their bounding rectangles are stored in stack-memory.
- execution passes to terminating block 98.
- processing unit 74 finishes processmg the current object and its bounding rectangle data. Otherwise, block 98 pops, one by one, all object and bounding rectangle data that was previously pushed to (stored in) stack memory, from stack-memory and transmits each in turn to the block 90 for further processing.
- the techniques described herein may be implemented in hardware or software, or a combination of the two.
- the techniques may be implemented in control programs executing on programmable devices that each include at least a processor and a storage medium readable by the processor (including volatile and non- volatile memory and/or storage elements).
- Each program is may be implemented in a high level procedural or object oriented programming language to communicate with a computer system, however, the programs can be implemented in assembly or machine language, if desired.
- Each such computer program is may be stored on a storage medium or device (e.g., CD- ROM, hard disk or magnetic diskette) that is readable by a general or special purpose programmable computer for configuring and operating the computer when the storage medium or device is read by the computer to perform the procedures described in this document.
- the system may also be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner.
Abstract
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP01963337A EP1390919A1 (en) | 2001-05-29 | 2001-05-29 | Method, apparatus, and article of manufacture for associating objects with regions in coordinate space |
PCT/IB2001/001668 WO2003001459A1 (en) | 2001-05-29 | 2001-05-29 | Method, apparatus, and article of manufacture for associating objects with regions in coordinate space |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2001/001668 WO2003001459A1 (en) | 2001-05-29 | 2001-05-29 | Method, apparatus, and article of manufacture for associating objects with regions in coordinate space |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2003001459A1 true WO2003001459A1 (en) | 2003-01-03 |
Family
ID=11004172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB2001/001668 WO2003001459A1 (en) | 2001-05-29 | 2001-05-29 | Method, apparatus, and article of manufacture for associating objects with regions in coordinate space |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP1390919A1 (en) |
WO (1) | WO2003001459A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2408362A (en) * | 2003-11-21 | 2005-05-25 | Hewlett Packard Development Co | A method of storing an n-dimensional object in a data structure |
CN112862951A (en) * | 2021-01-28 | 2021-05-28 | 晟通科技集团有限公司 | Accessory modeling method, computer device and storage medium |
CN116029257A (en) * | 2023-02-14 | 2023-04-28 | 弈芯科技(杭州)有限公司 | Method and device for identifying connection relation of graphics in layout verification |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4694404A (en) * | 1984-01-12 | 1987-09-15 | Key Bank N.A. | High-speed image generation of complex solid objects using octree encoding |
US4888583A (en) * | 1988-03-14 | 1989-12-19 | Ligocki Terry J | Method and apparatus for rendering an image from data arranged in a constructive solid geometry format |
US4890242A (en) * | 1986-06-05 | 1989-12-26 | Xox Corporation | Solid-modeling system using topology directed subdivision for determination of surface intersections |
US6313837B1 (en) * | 1998-09-29 | 2001-11-06 | Schlumberger Technology Corporation | Modeling at more than one level of resolution |
US6373485B2 (en) * | 1998-02-17 | 2002-04-16 | Sun Microsystems, Inc. | Mitigating the effects of object approximations |
-
2001
- 2001-05-29 WO PCT/IB2001/001668 patent/WO2003001459A1/en not_active Application Discontinuation
- 2001-05-29 EP EP01963337A patent/EP1390919A1/en not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4694404A (en) * | 1984-01-12 | 1987-09-15 | Key Bank N.A. | High-speed image generation of complex solid objects using octree encoding |
US4890242A (en) * | 1986-06-05 | 1989-12-26 | Xox Corporation | Solid-modeling system using topology directed subdivision for determination of surface intersections |
US4888583A (en) * | 1988-03-14 | 1989-12-19 | Ligocki Terry J | Method and apparatus for rendering an image from data arranged in a constructive solid geometry format |
US6373485B2 (en) * | 1998-02-17 | 2002-04-16 | Sun Microsystems, Inc. | Mitigating the effects of object approximations |
US6313837B1 (en) * | 1998-09-29 | 2001-11-06 | Schlumberger Technology Corporation | Modeling at more than one level of resolution |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2408362A (en) * | 2003-11-21 | 2005-05-25 | Hewlett Packard Development Co | A method of storing an n-dimensional object in a data structure |
GB2408362B (en) * | 2003-11-21 | 2007-02-21 | Hewlett Packard Development Co | System for and method for storing an n-dimensional object in a data structure |
CN112862951A (en) * | 2021-01-28 | 2021-05-28 | 晟通科技集团有限公司 | Accessory modeling method, computer device and storage medium |
CN116029257A (en) * | 2023-02-14 | 2023-04-28 | 弈芯科技(杭州)有限公司 | Method and device for identifying connection relation of graphics in layout verification |
Also Published As
Publication number | Publication date |
---|---|
EP1390919A1 (en) | 2004-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11922534B2 (en) | Tile based computer graphics | |
KR101265810B1 (en) | Triangulating procedural geometric objects | |
US8760450B2 (en) | Real-time mesh simplification using the graphics processing unit | |
US6952204B2 (en) | 3D computer modelling apparatus | |
US7561156B2 (en) | Adaptive quadtree-based scalable surface rendering | |
CN111127615A (en) | Data scheduling method and device of three-dimensional model and electronic equipment | |
CN109410213A (en) | Polygon pel method of cutting out, computer readable storage medium, electronic equipment based on bounding box | |
CN113724401A (en) | Three-dimensional model cutting method and device, computer equipment and storage medium | |
EP1410337A2 (en) | Method, apparatus and article of manufacture for determining visible parts of surfaces of three-dimensional objects and their parameters of shading while accounting for light and shadow volumes | |
JP2006235839A (en) | Image processor and image processing method | |
KR20160068204A (en) | Data processing method for mesh geometry and computer readable storage medium of recording the same | |
CN104050619A (en) | Stencil then cover path rendering with shared edges | |
WO2003001459A1 (en) | Method, apparatus, and article of manufacture for associating objects with regions in coordinate space | |
JP6802129B2 (en) | Information processing equipment, methods and programs | |
US20230401667A1 (en) | Graphics processing systems | |
Chang et al. | GPU-based parallel construction of compact visual hull meshes | |
CN115661407B (en) | Multi-detail-level model generation method and device, electronic equipment and storage medium | |
US20230410426A1 (en) | Volume intersection using rotated bounding volumes | |
US20240005601A1 (en) | Hierarchical depth data generation using primitive fusion | |
US20220005261A1 (en) | Method for instant rendering of voxels | |
KR101651827B1 (en) | The Voxelization Method of Objects using File handling and Parallel Processing | |
Falcao et al. | Comparative analysis of shell rendering and shear-warp rendering | |
Xiong et al. | ETER: Elastic Tessellation for Real-Time Pixel-Accurate Rendering of Large-Scale NURBS Models | |
Cosky | Skip Buffers for Optimized 3D Rendering | |
Sheng et al. | Perception-motivated multiresolution rendering on sole-cube maps |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2001963337 Country of ref document: EP |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWP | Wipo information: published in national office |
Ref document number: 2001963337 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2004106157 Country of ref document: RU Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2004106791 Country of ref document: RU Kind code of ref document: A |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 2001963337 Country of ref document: EP |