US7561164B2 - Texture map editing - Google Patents
Texture map editing Download PDFInfo
- Publication number
- US7561164B2 US7561164B2 US10/373,011 US37301103A US7561164B2 US 7561164 B2 US7561164 B2 US 7561164B2 US 37301103 A US37301103 A US 37301103A US 7561164 B2 US7561164 B2 US 7561164B2
- Authority
- US
- United States
- Prior art keywords
- image data
- polygon
- data
- texture
- modified
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Definitions
- the present invention relates to the field of three-dimensional (3D) computer graphics, and more particularly to texture mapping and the editing of texture map data.
- Texture mapping in which image data (either “real” image data recorded by a camera or synthesized image data) is mapped onto a surface of a 3D computer model so that the image data appears as surface detail in images of the computer model, is widely known and used.
- image data either “real” image data recorded by a camera or synthesized image data
- 3D computer model so that the image data appears as surface detail in images of the computer model
- the texture map data must be accessed, displayed and changed.
- the effect of the changes cannot be seen until the changed texture map data is applied to the surface of the 3D computer model and one or more images of the 3D computer model are generated and viewed. Accordingly, changing the texture map data in a desired way can be difficult and time-consuming.
- texture data for a 3D computer model is edited not by viewing and changing the texture data, but instead by viewing and changing an image generated in accordance with user-selected viewing conditions and showing the 3D computer model with the texture data applied. Changes made to the image data are used to make changes to the corresponding texture data.
- the user can view the effect of the texture data on the 3D computer model to determine which texture data needs to be changed, has control to generate an image showing the best view of the texture data to be changed, and can view the effect any changes made to the texture data have on the 3D computer model in real-time.
- Texture data in more than one texture map may be changed in response to user amendments of a single rendered image of the 3D computer model.
- the image data may be exported for editing from the application in which the image data was generated in accordance with the user instructions into a separate application for editing two-dimensional image data.
- the user can edit the image data in any chosen editing application and in particular, one with which he is familiar so that he does not have to learn the functions and interface of a different editing application.
- the image data may be exported back into the original application so that it can be used to amend the texture data.
- processing may be performed to amend the texture data which corresponds to only the image data that was changed (and not texture data which corresponds to image data unchanged by the user). In this way, the texture data that the user did not wish to change is preserved, retaining the quality of the texture data and thereby the quality of subsequently generated images of the 3D computer model.
- Processing may be performed to amend the texture data for only some of the polygons in the 3D computer model. For example, processing may be performed to identify each polygon which is at an oblique angle to the viewing direction of the image displayed to the user to enable him to edit the image data. The identified polygons are then excluded so that the texture data therefor is not changed.
- a polygon which lies at an oblique angle relative to the viewing direction of the image will project into the image to have a relatively small size and hence occupy a relatively small number of pixels when displayed to the user. Because the number of pixels is small, those pixels may be inadvertently edited by the user. However, any changes made by the user to the pixels may affect the texture data for the whole of the polygon. Consequently, the changes may effect a large image area when an image is generated from a different viewing direction.
- the present invention also provides a computer program product for configuring a programmable apparatus to operate in the way described above.
- FIG. 1 schematically shows the components of an embodiment of the invention, together with the notional functional processing units into which the processing apparatus component may be thought of as being configured when programmed by programming instructions;
- FIG. 2 shows an example of a 3D computer model and texture maps defined by the data stored in the apparatus in FIG. 1 , and illustrates how texture data maps onto a polygon in the 3D computer model;
- FIG. 3 schematically shows the notional functional processing units into which the 3D model and texture map processor component in FIG. 1 may be thought of as been configured;
- FIGS. 4 a and 4 b show the processing operations performed by the processing apparatus in FIG. 1 ;
- FIG. 5 illustrates the generation and display of image data at step S 4 - 2 in FIG. 4 ;
- FIG. 6 illustrates how edited image data maps onto a polygon in the 3D computer model
- FIG. 7 shows an example to illustrate how changes to a small part of an image can affect large polygon areas in the 3D computer model
- FIG. 8 shows the processing operations performed at step S 4 - 20 in FIG. 4 ;
- FIG. 9 illustrates the mapping of edited image data into a texture map to change the texture map data at step S 4 - 20 in FIG. 4 .
- an embodiment of the invention comprises a processing apparatus 2 , such as a personal computer, containing, in a conventional manner, one or more processors, memories, graphics cards etc, together with a display device 4 , such as a conventional personal computer monitor, and user input devices 6 , such as a keyboard, mouse, touch-pad, tracker ball etc.
- a processing apparatus 2 such as a personal computer, containing, in a conventional manner, one or more processors, memories, graphics cards etc, together with a display device 4 , such as a conventional personal computer monitor, and user input devices 6 , such as a keyboard, mouse, touch-pad, tracker ball etc.
- the processing apparatus 2 is programmed to operate in accordance with programming instructions input, for example, as data stored on a data storage medium, such as disk 8 and/or as a signal 10 input to the processing apparatus 2 , for example from a remote database, by transmission over a communication network (not shown) such as the Internet or by transmission through the atmosphere, and/or entered by a user via a user input device 6 such as a keyboard.
- a communication network not shown
- a user input device 6 such as a keyboard
- the programming instructions comprise instructions to cause the processing apparatus 2 to become configured to process data defining a 3D computer model and texture map data therefor, to generate an image of the 3D computer model in accordance with user-selected viewing conditions, and then to change the texture map data in dependence upon changes to the image data made by the user.
- processing is performed to ensure that parts of the texture map are changed if they correspond to the image data which the user has modified, but that parts of the texture map which do not correspond to changed image data are not changed.
- this is achieved by storing a copy of the image of the 3D computer model to be edited by the user, comparing the stored copy image with the changed image after it has been edited by the user, and applying the differences between the two images (representing the changed image data) to the texture map data.
- processing is carried out to determine whether image data edited by the user relates to a polygon in the 3D computer model which is only obliquely visible from the viewing direction of the edited image. If this is the case, then the edited image data is not used to change the texture map data for the polygon. This is because an obliquely visible polygon will map onto only a relatively small number of pixels in the image being edited by the user, and accordingly any changes to those pixels may affect large areas of the polygon. Such changes to the pixels could be caused by unintentional editing of the image data by the user (because only a small number of pixels are involved). Accordingly, the texture data for only sufficiently front-facing polygons is changed, and not the texture data for polygons at an oblique angle.
- the user can change the texture data readily and reliably without unwanted changes being propagated into the texture data.
- processing apparatus 2 When programmed by the programming instructions, processing apparatus 2 can be thought of as being configured as a number of functional units for performing processing operations.
- FIG. 1 Examples of such functional units and their interconnections are shown in FIG. 1 .
- the units and interconnections illustrated in FIG. 1 are, however, notional and are shown for illustration purposes only to assist understanding; they do not necessarily represent units and connections into which the processor(s), memory etc of the processing apparatus 2 actually become configured.
- a central controller 20 is arranged to process inputs from the user input devices 6 and to provide control and processing for the other functional units.
- Input data interface 30 is arranged to control the storage of data input to the processing apparatus 2 on a data storage medium, such as disk 32 , or as a signal 34 .
- 3D model store 40 is configured to store input data defining a 3D computer model of one or more objects.
- Texture map store 50 is configured to store input data defining one or more texture maps for the 3D computer model(s) stored in 3D model store 40 .
- the data stored in 3D model store 40 defines a polygon mesh 200 representing the surface of a 3D object.
- each polygon in the mesh 200 is a planar triangle.
- the data stored in texture map store 50 defines a plurality of texture maps, of which three, 210 , 220 and 230 , are shown in FIG. 2 .
- each texture map comprises image data (either real or synthetic) made up of a plurality of texels 240 defined in (u,v) texture coordinate space (in the same way that an image is made up of a plurality of pixels in image space).
- the texture data in a texture map 210 , 220 and 230 may be defined by a procedure which generates the data.
- texture map coordinates in one or more of the texture maps 210 , 220 , 230 are assigned to the vertices of the polygon. This is illustrated for polygon 250 in FIG. 2 (for which, by way of example, texture map coordinates are defined in two of the texture maps 210 , 220 ).
- renderer 60 is arranged to generate an image of the 3D computer model 200 from a viewing direction relative thereto defined by a user using a user input device 6 .
- the values of the pixels in the image data are generated in dependence upon texture data from the texture maps 210 , 220 , 230 mapped onto the pixels in dependence upon the viewing parameters.
- the processing performed by renderer 60 is conventional and accordingly will not be described here.
- Display controller 70 under the control of central controller 20 , is arranged to display image data generated by renderer 60 and instructions to the user via display device 4 during the processing by processing apparatus 2 .
- Image editor 80 is arranged to edit image data generated by renderer 60 in accordance with instructions input by a user using one or more user input devices 6 while the user views the image on display device 4 and the changes as they are made thereto.
- image editor 80 is defined by a software application running on processing apparatus 2 which is separate from the application(s) and operating system defining the other functional components shown in FIG. 1 .
- image editor 80 may be defined by a software application such as Adobe Photo-Shop RTM or the like.
- 3D model and texture map processor 90 is arranged to perform processing to change the texture map data stored in texture map store 50 in accordance with the changes made by image editor 80 to the image data generated by renderer 60 .
- Image store 100 is configured to store a copy of the original data generated by renderer 60 (that is, the data before any changes are made thereto by the user) for use in the processing by 3D model and texture map processor 90 .
- 3D model and texture map processor 90 comprises a difference calculator 120 , a polygon selector 130 , a polygon tester 140 , a mask generator 150 and a texture map editor 160 .
- Difference calculator 120 is arranged to compare the original image data generated by renderer 60 and stored in image store 100 with the edited image data generated by image editor 80 , to generate a difference image therefrom (that is, an image in which pixels having positions corresponding to pixels whose values were changed by image editor 80 are set to value 1, and pixels having positions corresponding to pixels which were unchanged by image editor 80 are set to value 0).
- Polygon selector 130 is arranged to determine to which polygons in the polygon mesh 200 representing the 3D computer model the edited image data generated by image editor 80 maps onto.
- Polygon tester 140 is arranged to determine, for each polygon identified by polygon selector 130 , whether the polygon is sufficiently front-facing with reference to the viewing direction of the image edited by image editor 80 that the edited image data should be used to update the texture map data for the polygon, or whether the polygon is at such an oblique angle with reference to the viewing direction that no changes should be made to the texture map data for the polygon, even though the user made changes to the corresponding image data.
- Mask generator 150 is arranged to generate a polygon mask for a given polygon based on the pixels in the difference image generated by difference calculator 120 which apply to the polygon and which represent changed image data.
- Texture map editor 160 is arranged to amend the texture data in the texture maps 210 , 220 , 230 in dependence upon the edited image data generated by image editor 80 and the polygon mask generated by mask generator 150 .
- output data interface 110 is arranged to output from the apparatus 2 output data defining the edited texture map data generated by 3D model and texture map processor 90 and, optionally data from the 3D model store 40 defining the polygon mesh 200 .
- the data may be output from the apparatus, for example as data on a data storage medium, such as disk 112 and/or as a signal 114 .
- a recording of the output data may be made by recording the output signal 114 either directly or indirectly (for example by making a first recording as a “master” and then making a subsequent recording from the master or from a descendant recording thereof) using recording apparatus (not shown).
- renderer 60 processes the data defining the polygon mesh 200 stored in 3D model store 40 and the texture data defining the texture maps 210 , 220 , 230 stored in texture map store 50 , to generate an image of the 3D computer model in accordance with a viewing direction relative to the 3D computer model selected by the user using one or more user-input devices 6 .
- This processing is performed in a conventional manner, and accordingly will not be described here.
- the image data generated by renderer 60 is displayed on display device 4 by display controller 70 .
- the image data generated by renderer 60 and displayed to the user on display device 4 defines an image 260 of the polygon mesh 200 from a viewing direction V (where V is a unit vector).
- the image 260 shows the polygon mesh 200 rendered with texture data from the texture maps 210 , 220 , 230 . Consequently, the user is able to view the effect of the texture data on the 3D computer model from any desired viewing direction V. As will be explained below, the user is then able to edit the image data defining the image 260 and the apparatus automatically changes the corresponding texture data in the texture maps 210 , 220 , 230 .
- the user is not required to view a texture map 210 , 220 , 230 directly in order to edit the texture data, but instead can view an image of the 3D object rendered with the texture data for editing.
- the user is then able to view the effect the texture data has on the 3D computer model, and can select the viewing direction giving the best view of the texture data it is described to edit.
- central controller 20 upon receipt of an image-selection signal input by the user using a user-input device 6 , central controller 20 stores a first copy of the image data in image store 100 . This stored data defines the image displayed on the display device 4 when the image selection signal was generated.
- central controller 20 makes a second copy of the image data available for access by image editor 80 . More particularly, because image editor 80 is defined by a separate application in this embodiment, central controller 20 writes the second copy of the image data to a clipboard (or similar shared data storage facility) in a conventional way. In this way, the image data is exported for access by the application defining image editor 80 .
- the exported image data is imported into the application defining image editor 80 from the clipboard. This may be carried out, for example, using a conventional “paste” function.
- the image data is then edited in accordance with instructions input by the user using one or more user-input devices 6 . Changes to the image data are displayed to the user on the display device 4 in real-time as they are made.
- the edited image data is made available for processing by exporting it from the application defining the image editor 80 . Again, this is performed in a conventional manner by saving the image data to the clipboard (or other similar shared storage facility).
- the edited image data is imported into the software application defining the 3D model and texture map processor 90 , this processing again being performed in a conventional way by retrieving the image data from the clipboard.
- Difference calculator 120 compares the edited image data generated by image editor 80 with the copy of the original image data generated by renderer 60 which was stored in image store 100 at step S 4 - 4 . Based on the comparison, difference calculator 120 generates a difference image having the same number of pixels as the original image, and in which pixels corresponding to pixels whose values have been edited by image editor 80 are set to a value 1, and pixels corresponding to pixels whose values have not been changed by image editor 80 are set to a value 0.
- polygon selector 130 performs processing to identify each polygon in the polygon mesh 200 onto which the edited image data generated at step S 4 - 6 maps.
- polygons in the polygon mesh 200 map onto pixels in the image 260 displayed to the user and edited at step S 4 - 6 . This is illustrated for polygon 270 in FIG. 6 .
- the image 260 shows the surface detail of the 3D computer model generated from the texture data in the texture maps 210 , 220 , 230 and not the individual polygons in the polygon mesh 200 (with the result that the user edits the image data without reference to the polygons in the polygon mesh 200 ).
- polygon selector 130 performs processing to determine which polygons in the polygon mesh 200 are contributing texture data to the parts of the image data in image 260 which were modified by the processing at step S 4 - 6 .
- the texture data in the texture maps 210 , 220 , 230 for the identified polygons is amended in dependence upon the changes made to the image data at step S 4 - 6 .
- polygon selector 130 carries out the processing at step S 4 - 10 by associating each pixel in the image 260 with a polygon in the polygon mesh 200 , and then selecting the polygons in the polygon mesh 200 which are associated with pixels whose values were changed by the processing at step S 4 - 6 .
- the processing to associate each pixel in the image 260 with a polygon in the polygon mesh 200 is performed in a conventional manner.
- This processing comprises assigning a unique colour to each polygon in the polygon mesh 200 , generating an image of the polygon mesh 200 with identical viewing parameters to the image selected at step S 4 - 4 by performing a conventional rendering process, and assigning each pixel in the generated image to a polygon in the polygon mesh 200 by matching the pixel colour to the colour of a polygon in the polygon mesh 200 .
- Pixels in the image 260 changed by the processing at step S 4 - 6 are then identified, and a list is made of the corresponding polygons in the polygon mesh 200 , to identify polygons for subsequent processing.
- 3D model and texture map processor 90 selects the next polygon identified at step S 4 - 10 for processing (this being the first such polygon the first time step S 4 - 12 is performed).
- polygon tester 140 performs processing to determine whether the edited image data generated at step S 4 - 6 for the polygon selected at step S 4 - 12 is to be used to amend the texture data for the polygon.
- FIG. 7 illustrates an example showing a case where it is appropriate to use the edited image data for a polygon to amend the corresponding texture data in the texture maps 210 , 220 , 230 , and also a case where it is not appropriate to use the edited image data for a polygon to amend the corresponding texture data.
- each polygon 280 , 290 is a planar polygon and the normal vector N perpendicular to the plane of each polygon is shown.
- Polygon 280 projects to a polygon 300 in the image 260 and polygon 290 projects to a polygon 310 in the image 260 .
- the polygons 300 and 310 are not visible in the image 260 and instead only the texture data from the texture map 210 , 220 , 230 corresponding to the polygons 280 , 290 is visible at the positions defined by polygons 300 , 310 .
- the angle between the viewing direction V of the image 260 and the normal vector N of polygon 280 is approaching 180 degrees, with the result that the viewing direction V is substantially perpendicular to the plane of polygon 280 .
- the angle between the viewing direction V and the normal vector N of polygon 290 is much less than 180 degrees, with the result that the plane of polygon 290 is at a more oblique angle to the viewing direction V than the plane of polygon 280 .
- polygon 280 projects to a relatively large number of pixels (defined by polygon 300 ), but polygon 290 projects to relatively small number of pixels (defined by a polygon 310 ).
- any changes to the pixels in the area defined by polygon 310 in the image 260 could result in changes to the texture data for polygon 290 affecting a large part of the polygon 290 . While these changes may not be significantly visible in image 260 (because of the small size of polygon 310 ) the changes may be highly visible in an image from a different viewing direction which is closer to perpendicular to the plane of polygon 290 .
- polygon tester 140 performs processing at step S 4 - 14 to reject polygons which are not sufficiently front-facing to the viewing direction V of image 260 .
- the rejected polygons are then excluded from subsequent processing so that the edited image data generated at step S 4 - 6 is not used to change the texture data in the texture maps 210 , 220 , 230 corresponding to the rejected polygons.
- polygon tester 140 tests the polygon selected at step S 4 - 12 by calculating the dot product (also known as the scalar product) of the viewing direction V of the image 260 (which is a unit vector) with the normal vector N of the polygon (which is also a unit of vector), and comparing the result with a threshold value (which, in this embodiment, is set to the value cos 135°.
- a threshold value which, in this embodiment, is set to the value cos 135°.
- step S 4 - 24 to consider the next polygon from the list generated at step S 4 - 10 .
- polygons are rejected if they are back-facing with respect to the viewing direction V or if the plane in which they are lying is at angle of more than 45 degrees to the viewing direction V.
- step S 4 - 14 determines whether V ⁇ N is less than or equal to cos (135°). If it is determined that the polygon is sufficiently front on to the viewing direction V that the texture data for the polygon in the texture maps 210 , 220 , 230 should be updated using the edited image data generated at step S 4 - 6 . Consequently, in this case, processing proceeds to step S 4 - 16 .
- mask generator 150 selects pixels from the difference image generated at step S 4 - 8 which represent edited image data (that is, pixels having the value 1) and which correspond to the polygon currently being processed (such pixels being identifiable as a result of the processing at step S 4 - 10 described above).
- the selected pixels define a polygon mask for use in subsequent processing.
- 3D model and texture map processor 90 selects the next texture map 210 , 220 , 230 which provides texture data for-the polygon currently being considered (this being the first such texture map the first time step S 4 - 18 is performed).
- texture map editor 160 amends the texture data in the texture map selected at step S 4 - 18 which corresponds to the polygon currently being considered in dependence upon the corresponding edited image data generated at step S 4 - 6 and the polygon mask generated at step S 4 - 16 .
- FIG. 8 shows the processing operations performed by texture map editor 160 at step S 4 - 20 .
- texture map editor 160 performs processing to determine the positions in the edited image data generated at step S 4 - 6 of the vertices of the polygon currently being processed. More particularly, in this embodiment, this processing comprises projecting the polygon vertices from the 3D world space of the polygon mesh 200 into the 2D space of the image 260 using the transformation defined by the viewing parameters in accordance with which the image 260 was originally generated by renderer 60 .
- texture map editor 160 amends the texture data in the texture map currently being processed using the edited image data from the image 260 which lies between the vertex positions calculated at step S 8 - 2 .
- this processing is carried out by performing a conventional texture mapping operation, but in a reverse direction—that is, from the image 260 into the texture map rather than from the texture map into the image 260 .
- texture map editor 160 defines the image 260 to be a texture map and the texture map selected at step S 4 - 18 to be an image.
- FIG. 9 illustrates this for a polygon 320 in the polygon mesh 200 , which is shown in enlarged form.
- the texture data to be amended in texture map 210 comprises texture data lying between the vertex positions 322 , 324 , 326 of triangle 320 (these positions being defined by the data stored in 3D model store 40 and texture map store 50 in a conventional way) onto which image data lying between the vertex positions 328 , 330 , 332 of triangle 320 in image 260 and amended by the processing at step S 4 - 6 maps (the vertex positions 328 , 330 , 332 having been calculated at step S 8 - 2 ).
- texture map editor 160 defines the polygon mask generated at step S 4 - 16 to be texture data and maps this polygon mask texture data from the image 260 (now defined to be a texture map) into the texture map 210 (now defined to be the image). This mapping is carried out using a conventional texture mapping routine, defining the polygon defined by vertices 322 , 324 and 326 to be the recipient polygon for the transformed texture data.
- Texture map editor 160 stores a record of the texels in the texture map 210 onto which the polygon mask texture maps.
- texture map editor 160 defines the image data for all of the pixels lying between the vertex positions 328 , 330 , 332 calculated at step S 8 - 2 to be texture data, and maps the data from the image 260 (now defined to be a texture map) into the texture map 210 (now defined to be an image) using a conventional texture mapping routine, defining the polygon defined by vertices 322 , 324 , and 326 to be the recipient polygon for the transformed texture data.
- a conventional texture mapping routine defining the polygon defined by vertices 322 , 324 , and 326 to be the recipient polygon for the transformed texture data.
- Texture map editor 160 replaces the texture data already existing in texture map 210 with the image data mapped into the texture map at step S 8 - 6 if the image data maps onto to a texel within the projected polygon mask (determined at step S 8 - 6 ), but retains the original texture data in the texture map 210 if the image data maps onto a texel outside the polygon mask.
- the texture data in the texture map 210 is changed by amended image data, but is not changed by unamended image data.
- 3D model and texture map processor 90 determines whether there is another texture map 210 , 220 , 230 which provides texture data for the polygon currently being processed. Steps S 4 - 18 to S 4 - 22 are repeated until all of the texture maps providing data for the polygon selected at step S 4 - 12 have been processed in the way described above.
- 3D model and texture map processor 90 determines whether there is another polygon onto which the edited image data generated at step S 4 - 6 projects, (that is, whether there is another polygon on the list generated at step S 4 - 10 ).
- Steps S 4 - 12 to S 4 - 24 are repeated until each polygon onto which the edited image data maps has been processed in the way described above.
- the texture data defined in the texture maps 210 , 220 , 230 is amended based on the changes to the image 260 made by the user. Consequently, the user is able to edit the texture data by making changes to an image of the 3D computer model from any selected direction.
- image editor 80 is defined by a separate software application, that is an application separate from the application defining renderer 60 and 3D model and texture map processor 90 .
- renderer 60 image editor 80 and 3D model and texture map processor 90 may be defined by the same application, as may one or more of the other functional units shown in FIG. 1 and described above.
- image data is generated at step S 4 - 2 in accordance with a user-selected viewing direction of the 3D computer model.
- the user may select other viewing parameters for the image, such as viewing position, camera zoom etc.
- processing is performed at step S 4 - 14 to test each polygon on the list generated at step S 4 - 10 to determine whether edited image data is to be used to change the texture data for the polygon. More particularly, no amendment is made to the texture data for a polygon if the test at step S 4 - 14 determines that the plane of the polygon is not sufficiently front-facing with respect to the viewing direction V of the image 260 from which the edited image data was generated.
- step S 4 - 14 is not essential, and may be omitted, with the result that all of the polygons identified at step S 4 - 10 are processed using the processing at steps S 4 - 16 to S 4 - 22 .
- processing is performed at steps S 4 - 8 and S 4 - 10 to distinguish image data which has been edited by the user from unedited image data, and to identify the polygons in the 3D computer model onto which the edited image data maps.
- the texture data for polygons is amended in dependence upon the edited image data but not in dependence upon any unedited image data.
- the processing at steps S 4 - 8 and S 4 - 10 is not essential, and may be omitted.
- every polygon in the 3D computer model may be tested at step S 4 - 14 to determine whether the texture data for the polygon is to be amended and, for each polygon from which the texture data is to be amended, the texture data may be amended in dependence upon all of the image data relating to the polygon—that is, both edited image data and unedited image data for the polygon.
- the test at step S 4 - 14 to determine whether a polygon is sufficiently front-facing with respect to the viewing direction V of image 260 that the edited image data should be applied to the texture data for the polygon is carried out in accordance with equation (1) above.
- processing may be carried out to determine whether the following inequality holds:
- processing would proceed through steps S 4 - 16 to S 4 - 22 to amend the texture data for the polygon, otherwise these steps would be omitted.
- steps S 4 - 16 to S 4 - 22 would be carried out to amend the texture data in dependence upon the edited image data. Otherwise, these steps would be omitted.
- the area ratio is representative of the relative orientation of the polygon and the viewing direction V of image 260 . This is because the area of the projected polygon in image 260 (the numerator) is dependent upon the angle the polygon makes with the viewing direction V of the image 260 , while the denominator represents an orientation-independent area of the polygon.
- the processing at step S 4 - 14 results in a polygon being retained for processing at steps S 4 - 16 to S 4 - 22 or rejected.
- processing may be carried out at S 4 - 14 to calculate a measure of the relative orientation of the polygon and the viewing direction V in accordance with one or more of equations (1) to (3) but not to reject any polygons from subsequent processing (or to reject only back-facing polygons).
- the processing at step S 8 - 10 would then be changed so that, instead of replacing each texel value to be changed with the corresponding image value, the texel value is replaced with a value dependent upon the calculated relative orientation of the polygon and the viewing direction V.
- each texel value to be changed could be replaced with a weighted average of the original texel value and the corresponding image value, with relative weightings determined in accordance with the calculated orientation measure (the weightings being set to increase the contribution of the image value as the plane of the polygon becomes more front-facing to the viewing direction V, and to increase the contribution of the original texel value as the plane of the polygon becomes less front-facing to the viewing direction V).
- processing is performed by a computer using processing routing defined by programming instructions. However, some, or all, of the processing could be performed using hardware.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0204749A GB0204749D0 (en) | 2002-02-28 | 2002-02-28 | Texture map editing |
GB0204750.4 | 2002-02-28 | ||
GB0204749.6 | 2002-02-28 | ||
GB0204750A GB2386042A (en) | 2002-02-28 | 2002-02-28 | Texture map editing |
Publications (2)
Publication Number | Publication Date |
---|---|
US20030160785A1 US20030160785A1 (en) | 2003-08-28 |
US7561164B2 true US7561164B2 (en) | 2009-07-14 |
Family
ID=27758842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/373,011 Expired - Fee Related US7561164B2 (en) | 2002-02-28 | 2003-02-26 | Texture map editing |
Country Status (3)
Country | Link |
---|---|
US (1) | US7561164B2 (de) |
EP (1) | EP1347418A3 (de) |
JP (1) | JP2004038926A (de) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120086950A1 (en) * | 2010-10-08 | 2012-04-12 | Omron Corporation | Shape measuring apparatus and shape measuring method |
US8339394B1 (en) * | 2011-08-12 | 2012-12-25 | Google Inc. | Automatic method for photo texturing geolocated 3-D models from geolocated imagery |
US20130036401A1 (en) * | 2011-08-04 | 2013-02-07 | Google Inc. | Method for Improving the Performance of Browser-Based, Formula-Driven Parametric Objects |
US8638334B2 (en) * | 2008-08-22 | 2014-01-28 | Adobe Systems Incorporated | Selectively displaying surfaces of an object model |
US8749580B1 (en) * | 2011-08-12 | 2014-06-10 | Google Inc. | System and method of texturing a 3D model from video |
US9146660B2 (en) | 2011-08-22 | 2015-09-29 | Trimble Navigation Limited | Multi-function affine tool for computer-aided design |
US9405433B1 (en) | 2011-01-07 | 2016-08-02 | Trimble Navigation Limited | Editing element attributes of a design within the user interface view, and applications thereof |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6792205B2 (en) * | 2002-04-17 | 2004-09-14 | Mitsubishi Electric Research Laboratories, Inc. | Method for generating a textured range image |
GB2398469B (en) * | 2003-02-12 | 2005-10-26 | Canon Europa Nv | Image processing apparatus |
GB2400288B (en) * | 2003-04-02 | 2005-12-28 | Canon Europa Nv | Generating texture maps for use in 3D computer graphics |
GB0310504D0 (en) | 2003-05-07 | 2003-06-11 | Canon Europa Nv | Photographing apparatus,device and method for obtaining images to be used for creating three-dimensional model |
GB2405776B (en) * | 2003-09-05 | 2008-04-02 | Canon Europa Nv | 3d computer surface model generation |
GB2406252B (en) * | 2003-09-18 | 2008-04-02 | Canon Europa Nv | Generation of texture maps for use in 3d computer graphics |
EP1749280A1 (de) * | 2004-01-12 | 2007-02-07 | Allegorithmic | Verfahren und werkzeug zum modifizieren eines verfahrensdiagramms |
US7739623B2 (en) * | 2004-04-15 | 2010-06-15 | Edda Technology, Inc. | Interactive 3D data editing via 2D graphical drawing tools |
GB2415344B (en) * | 2004-06-14 | 2010-10-06 | Canon Europa Nv | Texture data compression and rendering in 3D computer graphics |
US20080211807A1 (en) * | 2004-08-10 | 2008-09-04 | Allegorithmic | Mesh Design Method and Tool |
US20060082593A1 (en) * | 2004-10-19 | 2006-04-20 | Microsoft Corporation | Method for hardware accelerated anti-aliasing in 3D |
US20080246765A1 (en) * | 2005-05-06 | 2008-10-09 | Desmond Grenfell | Method and apparatus for constraint-based texture generation |
US7907794B2 (en) * | 2007-01-24 | 2011-03-15 | Bluebeam Software, Inc. | Method for aligning a modified document and an original document for comparison and difference highlighting |
US8990681B2 (en) | 2007-01-24 | 2015-03-24 | Bluebeam Software, Inc. | Method for aligning a modified document and an original document for comparison and difference highlighting |
US8707150B2 (en) * | 2008-12-19 | 2014-04-22 | Microsoft Corporation | Applying effects to a video in-place in a document |
SG10201502669RA (en) * | 2010-04-12 | 2015-05-28 | Fortem Solutions Inc | Camera projection meshes |
KR101677633B1 (ko) * | 2010-07-12 | 2016-11-18 | 엘지전자 주식회사 | 사진 편집 방법 및 이를 이용하는 이동 단말기 |
JP5896424B2 (ja) * | 2011-04-25 | 2016-03-30 | 光雄 林 | 全方位画像編集プログラム及び全方位画像編集装置 |
US20150015574A1 (en) * | 2013-07-09 | 2015-01-15 | Nvidia Corporation | System, method, and computer program product for optimizing a three-dimensional texture workflow |
US9860520B2 (en) * | 2013-07-23 | 2018-01-02 | Sirona Dental Systems Gmbh | Method, system, apparatus, and computer program for 3D acquisition and caries detection |
US9951767B2 (en) * | 2014-05-22 | 2018-04-24 | General Electric Company | Vibrational fluid mover active controller |
US11573325B2 (en) | 2016-03-11 | 2023-02-07 | Kaarta, Inc. | Systems and methods for improvements in scanning and mapping |
EP3427008B1 (de) | 2016-03-11 | 2022-09-07 | Kaarta, Inc. | Laserscanner mit online-eigenbewegungsschätzung in echtzeit |
US11567201B2 (en) | 2016-03-11 | 2023-01-31 | Kaarta, Inc. | Laser scanner with real-time, online ego-motion estimation |
US10989542B2 (en) | 2016-03-11 | 2021-04-27 | Kaarta, Inc. | Aligning measured signal data with slam localization data and uses thereof |
US10134174B2 (en) | 2016-06-13 | 2018-11-20 | Microsoft Technology Licensing, Llc | Texture mapping with render-baked animation |
WO2019099605A1 (en) | 2017-11-17 | 2019-05-23 | Kaarta, Inc. | Methods and systems for geo-referencing mapping systems |
WO2019165194A1 (en) | 2018-02-23 | 2019-08-29 | Kaarta, Inc. | Methods and systems for processing and colorizing point clouds and meshes |
WO2019195270A1 (en) | 2018-04-03 | 2019-10-10 | Kaarta, Inc. | Methods and systems for real or near real-time point cloud map data confidence evaluation |
AU2018203327A1 (en) * | 2018-05-11 | 2019-11-28 | Canon Kabushiki Kaisha | System and method for processing a graphic object |
WO2020009826A1 (en) | 2018-07-05 | 2020-01-09 | Kaarta, Inc. | Methods and systems for auto-leveling of point clouds and 3d models |
US20220410002A1 (en) * | 2021-06-29 | 2022-12-29 | Bidstack Group PLC | Mesh processing for viewability testing |
Citations (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5363483A (en) * | 1992-10-28 | 1994-11-08 | Intellution, Inc. | Updating objects displayed in a computer system |
JPH09170914A (ja) | 1995-12-19 | 1997-06-30 | Canon Inc | 画像計測方法及び画像計測装置 |
WO1998018117A2 (en) | 1996-10-07 | 1998-04-30 | Cognex Corporation | Machine vision calibration targets and methods of determining their location and orientation in an image |
EP0898245A1 (de) | 1997-08-05 | 1999-02-24 | Canon Kabushiki Kaisha | Bildverarbeitungsgerät |
US5977983A (en) * | 1997-02-20 | 1999-11-02 | S3 Incorporated | Method and apparatus for adjusting graphics processing procedures based on a selectable speed/quality gauge |
US5977982A (en) * | 1996-06-28 | 1999-11-02 | Avid Technology Inc. | System and method for modification of the visual characteristics of digital 3D objects |
JPH11328441A (ja) | 1998-05-11 | 1999-11-30 | Hitachi Ltd | グラフィックス表示制御方法およびコンピュータグラフイックス |
WO2000004506A1 (en) | 1998-07-20 | 2000-01-27 | Geometrix, Inc. | Method and system for generating fully-textured 3-d models |
JP2000163590A (ja) | 1998-12-01 | 2000-06-16 | Fujitsu Ltd | 三次元モデル変換装置及び方法 |
US6081273A (en) | 1996-01-31 | 2000-06-27 | Michigan State University | Method and system for building three-dimensional object models |
JP2000268189A (ja) | 1999-03-18 | 2000-09-29 | Airemu Software Engineering Kk | 画像表示方法、画像表示装置およびそれを備えた遊技機並びにプログラムを記憶した記憶媒体 |
JP2000339499A (ja) | 1999-05-27 | 2000-12-08 | Mitsubishi Electric Corp | テクスチャマッピング・テクスチャモザイク処理装置 |
WO2001039124A2 (en) | 1999-11-23 | 2001-05-31 | Canon Kabushiki Kaisha | Image processing apparatus |
US6256040B1 (en) | 1996-06-21 | 2001-07-03 | Namco, Ltd. | Three-dimensional game machine and information storage medium |
GB2358307A (en) | 1999-11-25 | 2001-07-18 | Canon Kk | Method of determining camera projections in 3D imaging having minimal error |
US6271858B1 (en) * | 1998-10-16 | 2001-08-07 | Microsoft Corporation | Incremental update for dynamic/animated textures on three-dimensional models |
US6281904B1 (en) | 1998-06-09 | 2001-08-28 | Adobe Systems Incorporated | Multi-source texture reconstruction and fusion |
US6297834B1 (en) * | 1999-06-10 | 2001-10-02 | Hewlett-Packard Company | Direction-dependent texture maps in a graphics system |
US20010056308A1 (en) | 2000-03-28 | 2001-12-27 | Michael Petrov | Tools for 3D mesh and texture manipulation |
US20020050988A1 (en) | 2000-03-28 | 2002-05-02 | Michael Petrov | System and method of three-dimensional image capture and modeling |
GB2369260A (en) | 2000-10-27 | 2002-05-22 | Canon Kk | Generation of composite images by weighted summation of pixel values of the separate images |
US20020061130A1 (en) | 2000-09-27 | 2002-05-23 | Kirk Richard Antony | Image processing apparatus |
GB2369541A (en) | 2000-10-27 | 2002-05-29 | Canon Kk | Method and apparatus for generating visibility data |
US20020085748A1 (en) | 2000-10-27 | 2002-07-04 | Baumberg Adam Michael | Image generation method and apparatus |
US20020154132A1 (en) * | 1997-07-30 | 2002-10-24 | Alain M. Dumesny | Texture mapping 3d graphic objects |
US20020186216A1 (en) | 2001-06-11 | 2002-12-12 | Baumberg Adam Michael | 3D computer modelling apparatus |
US20020190982A1 (en) | 2001-06-11 | 2002-12-19 | Canon Kabushiki Kaisha | 3D computer modelling apparatus |
US20030001837A1 (en) | 2001-05-18 | 2003-01-02 | Baumberg Adam Michael | Method and apparatus for generating confidence data |
US20030085891A1 (en) | 2001-11-05 | 2003-05-08 | Alexander Lyons | Three-dimensional computer modelling |
-
2003
- 2003-02-24 EP EP03251096A patent/EP1347418A3/de not_active Withdrawn
- 2003-02-26 US US10/373,011 patent/US7561164B2/en not_active Expired - Fee Related
- 2003-02-27 JP JP2003051178A patent/JP2004038926A/ja not_active Withdrawn
Patent Citations (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5363483A (en) * | 1992-10-28 | 1994-11-08 | Intellution, Inc. | Updating objects displayed in a computer system |
JPH09170914A (ja) | 1995-12-19 | 1997-06-30 | Canon Inc | 画像計測方法及び画像計測装置 |
US6621921B1 (en) | 1995-12-19 | 2003-09-16 | Canon Kabushiki Kaisha | Image processing apparatus |
US6081273A (en) | 1996-01-31 | 2000-06-27 | Michigan State University | Method and system for building three-dimensional object models |
US6256040B1 (en) | 1996-06-21 | 2001-07-03 | Namco, Ltd. | Three-dimensional game machine and information storage medium |
US5977982A (en) * | 1996-06-28 | 1999-11-02 | Avid Technology Inc. | System and method for modification of the visual characteristics of digital 3D objects |
WO1998018117A2 (en) | 1996-10-07 | 1998-04-30 | Cognex Corporation | Machine vision calibration targets and methods of determining their location and orientation in an image |
US5977983A (en) * | 1997-02-20 | 1999-11-02 | S3 Incorporated | Method and apparatus for adjusting graphics processing procedures based on a selectable speed/quality gauge |
US20020154132A1 (en) * | 1997-07-30 | 2002-10-24 | Alain M. Dumesny | Texture mapping 3d graphic objects |
EP0898245A1 (de) | 1997-08-05 | 1999-02-24 | Canon Kabushiki Kaisha | Bildverarbeitungsgerät |
JPH11328441A (ja) | 1998-05-11 | 1999-11-30 | Hitachi Ltd | グラフィックス表示制御方法およびコンピュータグラフイックス |
US6281904B1 (en) | 1998-06-09 | 2001-08-28 | Adobe Systems Incorporated | Multi-source texture reconstruction and fusion |
WO2000004506A1 (en) | 1998-07-20 | 2000-01-27 | Geometrix, Inc. | Method and system for generating fully-textured 3-d models |
US6271858B1 (en) * | 1998-10-16 | 2001-08-07 | Microsoft Corporation | Incremental update for dynamic/animated textures on three-dimensional models |
JP2000163590A (ja) | 1998-12-01 | 2000-06-16 | Fujitsu Ltd | 三次元モデル変換装置及び方法 |
JP2000268189A (ja) | 1999-03-18 | 2000-09-29 | Airemu Software Engineering Kk | 画像表示方法、画像表示装置およびそれを備えた遊技機並びにプログラムを記憶した記憶媒体 |
JP2000339499A (ja) | 1999-05-27 | 2000-12-08 | Mitsubishi Electric Corp | テクスチャマッピング・テクスチャモザイク処理装置 |
US6297834B1 (en) * | 1999-06-10 | 2001-10-02 | Hewlett-Packard Company | Direction-dependent texture maps in a graphics system |
WO2001039124A2 (en) | 1999-11-23 | 2001-05-31 | Canon Kabushiki Kaisha | Image processing apparatus |
GB2358307A (en) | 1999-11-25 | 2001-07-18 | Canon Kk | Method of determining camera projections in 3D imaging having minimal error |
US20020050988A1 (en) | 2000-03-28 | 2002-05-02 | Michael Petrov | System and method of three-dimensional image capture and modeling |
US20010056308A1 (en) | 2000-03-28 | 2001-12-27 | Michael Petrov | Tools for 3D mesh and texture manipulation |
US20020061130A1 (en) | 2000-09-27 | 2002-05-23 | Kirk Richard Antony | Image processing apparatus |
GB2369260A (en) | 2000-10-27 | 2002-05-22 | Canon Kk | Generation of composite images by weighted summation of pixel values of the separate images |
GB2369541A (en) | 2000-10-27 | 2002-05-29 | Canon Kk | Method and apparatus for generating visibility data |
US20020085748A1 (en) | 2000-10-27 | 2002-07-04 | Baumberg Adam Michael | Image generation method and apparatus |
US20030001837A1 (en) | 2001-05-18 | 2003-01-02 | Baumberg Adam Michael | Method and apparatus for generating confidence data |
US20020186216A1 (en) | 2001-06-11 | 2002-12-12 | Baumberg Adam Michael | 3D computer modelling apparatus |
US20020190982A1 (en) | 2001-06-11 | 2002-12-19 | Canon Kabushiki Kaisha | 3D computer modelling apparatus |
US20030085891A1 (en) | 2001-11-05 | 2003-05-08 | Alexander Lyons | Three-dimensional computer modelling |
Non-Patent Citations (28)
Title |
---|
A. Watt, "3-D Computer Graphics", pp. 260-262 (2000). |
C. Rocchini et al., "Multiple Textures Stitching and Blending on 3D Objects." Eurographics Rendering Workshop, (Jun. 1999). |
Dan Piponi et al., "Seamless Texture Mapping of Subdivision Surfaces by Model Pelting and Texture Blending." Proceeding of Siggraph 2000, pp. 471-478 (Jul. 2000). |
Eyal Ofek et al., "Multiresolution Textures from Image Sequences." IEEE Computer Graphics and Applications, vol. 17, No. 2, pp. 18-29 (Mar. 1997). |
Fausto Bernardini et al., "High-Quality Texture Reconstruction from Multiple Scans." IEEE Transactions on Visualization and Computer Graphics, vol. 7, No. 4, pp. 318-332 (Oct.-Dec. 2001). |
Foley et al., "Computer Graphics Principles and Practice," Addison-Wesley Publishing Company, Second Edition, Section 16.3.2, pp. 741-744 (1997). |
Frédéric Pighin et al., "Synthesizing Realistic Facial Expressions from Photographs." Proceedings of the 25th Annual Conference on Computer Graphics, pp. 1-10 (Jul. 1998). |
Greg Turk & Marc Levoy, "Zippered Polygon Meshes from Range Images", Computer Graphics Proceedins, Annual Conference Series, 1994, ACM Siggraph, pp. 311-318, ISBN 0-89791-667-0. |
Hendrik P. Z. Lensch, "A Silhouette-Based Algorithm for Texture Registration and Stitching." Graphical Models, vol. 63, No. 4, pp. 245-262 (2001). |
Igor Guskov et al., "Multiresolution Signal Processing for Meshes." In Conference Proceedings ACM Siggraph, pp. 325-334 (1999). |
J. Illingworth & A. Hilton, "Looking to build a model world-automatic construction of static object models using computer vision", Electronics & Communication Engineering Journal, Jun. 1998, pp. 103-113. |
M. Szilvasi-Nagy, "An Algorithm for Determining the Intersection of Two Simple Polyhedra", Computer Graphics Forum 3 (1984), pp. 219-225. |
Makoto Maruya, "Generating a Texture Map from Object-Surface Texture Data." Computer Graphics Forum, vol. 14, No. 3, pp. 397-405 (1995). |
Maneesh Agrawala et al., "Efficient Image-Based Methods for Rendering Soft Shadows." Proceedings of Siggraph 2000, Computer Graphics Proceedings, Annual Conference Series, pp. 375-384 (Jul. 2000). |
Martin Lohlein, "A Volumetric Intersection Algorithm for 3d-Reconstruction Using a Boundary-Representation", http://i31www.ira.uka.de/diplomarbeiten/da-martin-loehlein/Reconstruction.html. |
Matthias Eck et al., "Multiresolution Analysis of Arbitrary Meshes." In Conference Proceedings ACM Siggraph, pp. 173-182 (1995). |
P. Hanrahan, et al., "Direct WYSIWYG Painting and Texturing on 3D Shapes", Computer Graphics, vol. 24, No. 4, pp. 215-223 (Aug. 1990). |
Paul E. Debevec et al., "Modeling and Rendering Architecture from Photographs: A Hybrid Geometry-and Image-Based Approach." In Conference Proceedings ACM Siggraph, pp. 11-20 (1996). |
Pedro V. Sander et al., "Texture Mapping Progressive Meshes." In Conference Proceedings ACM Siggraph, pp. 409-423 (Aug. 2001). |
Peter J. Burt et al., "A Multiresolution Spline with Application to Image Mosaics." ACM Transactions on Graphics (TOG), vol. 2, No. 4, pp. 217-236 (Oct. 1983). |
Peter J. Neugebauer & Konrad Klein, "Texturing 3D Models of Real World Objects from Multiple Unregistered Photographic Views", Eurographics '99, vol. 18 (1999), No. 3. |
R. I. Hartley, "Euclidean Reconstruction From Uncalibrated Views", Applications of Invariance in Computer Vision, Mundy, Zisserman and Forsyth eds., Azores 1993, pp. 237-256. |
Reinhard Koch et al., "Multi Viewpoint Stereo from Uncalibrated Video Sequences." ECCV '98, vol. 1, pp. 55-71 (Jun. 1998). |
Sloan et al., "Importance Driven Texture Coordinate Optimization," Eurographics '98, vol. 17, No. 3 (1998). |
Steven J. Gortier et al., "The Lumigraph", Computer Graphics Proceedings, Annual Conf. Series, 1996 ACM-0-89791-746-4/96/008, pp. 43-52. |
Wojciech Matusik et al., "Image-Based Visual Hulls." Proceedings of Siggraph 2000, pp. 369-374 (2000). |
Wolfgang Niem et al., "Automatic Reconstruction of 3D Objects Using a Mobile Monoscopic Camera." Image and Vision Computing 17, pp. 173-180. (1999). |
Yizhou Yu., "Efficient Visibility Processing for Projective Texture Mapping." Computer & Graphics, vol. 23, pp. 245-253 (1999). |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8638334B2 (en) * | 2008-08-22 | 2014-01-28 | Adobe Systems Incorporated | Selectively displaying surfaces of an object model |
US20120086950A1 (en) * | 2010-10-08 | 2012-04-12 | Omron Corporation | Shape measuring apparatus and shape measuring method |
US8334985B2 (en) * | 2010-10-08 | 2012-12-18 | Omron Corporation | Shape measuring apparatus and shape measuring method |
US9405433B1 (en) | 2011-01-07 | 2016-08-02 | Trimble Navigation Limited | Editing element attributes of a design within the user interface view, and applications thereof |
US20130036401A1 (en) * | 2011-08-04 | 2013-02-07 | Google Inc. | Method for Improving the Performance of Browser-Based, Formula-Driven Parametric Objects |
US8713519B2 (en) * | 2011-08-04 | 2014-04-29 | Trimble Navigation Ltd. | Method for improving the performance of browser-based, formula-driven parametric objects |
US8339394B1 (en) * | 2011-08-12 | 2012-12-25 | Google Inc. | Automatic method for photo texturing geolocated 3-D models from geolocated imagery |
US8749580B1 (en) * | 2011-08-12 | 2014-06-10 | Google Inc. | System and method of texturing a 3D model from video |
US8890863B1 (en) * | 2011-08-12 | 2014-11-18 | Google Inc. | Automatic method for photo texturing geolocated 3-D models from geolocated imagery |
US9092899B1 (en) | 2011-08-12 | 2015-07-28 | Google Inc. | Automatic method for photo texturing geolocated 3D models from geolocated imagery |
US9542770B1 (en) | 2011-08-12 | 2017-01-10 | Google Inc. | Automatic method for photo texturing geolocated 3D models from geolocated imagery |
US9146660B2 (en) | 2011-08-22 | 2015-09-29 | Trimble Navigation Limited | Multi-function affine tool for computer-aided design |
Also Published As
Publication number | Publication date |
---|---|
EP1347418A3 (de) | 2005-11-23 |
EP1347418A2 (de) | 2003-09-24 |
JP2004038926A (ja) | 2004-02-05 |
US20030160785A1 (en) | 2003-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7561164B2 (en) | Texture map editing | |
US8106904B2 (en) | Shader program generation system and method | |
US20230088494A1 (en) | Tessellating patches of surface data in tile based computer graphics rendering | |
EP4404133A2 (de) | Nichtdivergierende parallelübertragung einer randvolumenhierarchie | |
US5442733A (en) | Method and apparatus for generating realistic images using a discrete representation | |
US7362332B2 (en) | System and method of simulating motion blur efficiently | |
CN103649856B (zh) | 通过工具的动作模拟物体的加工的方法及其系统和计算机程序产品 | |
US7528831B2 (en) | Generation of texture maps for use in 3D computer graphics | |
US8462147B2 (en) | Mega-mesh sculpting for environments | |
Hauser et al. | Two-level volume rendering-fusing MIP and DVR | |
JPH05114032A (ja) | 3次元グラフイツクスにおけるシヤドウ・テスト方法 | |
US10853990B2 (en) | System and method for processing a graphic object | |
US6556198B1 (en) | Polyhedron generating method and apparatus thereof, and storage medium for storing the method | |
US5745667A (en) | 3d graphics apparatus using texture images with displacement information | |
EP1605408A1 (de) | Image-based rendering (IBR) | |
JP2002352254A (ja) | グラフィックスモデルを表す複数のポリゴンを含むメッシュをレンダリングする方法 | |
US6346949B1 (en) | Three-dimensional form data processor retaining information on color boundaries of an object when thinning coordinate data | |
CA2357940A1 (en) | Apparatus, system, and method for simplifying annotations of a geometric surface | |
US5821942A (en) | Ray tracing through an ordered array | |
JP2004318825A (ja) | 複数のポリゴンから構成される3次元モデルを2次元平面に投影する際の陰線を消去する陰線処理方法 | |
GB2386042A (en) | Texture map editing | |
Sommer et al. | Geometry and rendering optimizations for the interactive visualization of crash-worthiness simultations | |
Jaubert et al. | Techniques for off-line scene exploration using a virtual camera | |
JPH09305791A (ja) | 立体画像生成装置および立体画像生成方法 | |
US20030184567A1 (en) | Information processing method and apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CANON EUROPA N.V., NETHERLANDS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BAUMBERG, ADAM MICHAEL;REEL/FRAME:013810/0626 Effective date: 20030219 |
|
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 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20210714 |