WO2016098690A1 - テクスチャ生成システム - Google Patents
テクスチャ生成システム Download PDFInfo
- Publication number
- WO2016098690A1 WO2016098690A1 PCT/JP2015/084756 JP2015084756W WO2016098690A1 WO 2016098690 A1 WO2016098690 A1 WO 2016098690A1 JP 2015084756 W JP2015084756 W JP 2015084756W WO 2016098690 A1 WO2016098690 A1 WO 2016098690A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- texture
- unit
- matrix
- textures
- image
- Prior art date
Links
- 239000011159 matrix material Substances 0.000 claims abstract description 68
- 238000000034 method Methods 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 21
- 230000004048 modification Effects 0.000 description 18
- 238000012986 modification Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000010187 selection method Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 4
- 239000003086 colorant Substances 0.000 description 4
- 101000852553 Homo sapiens THO complex subunit 3 Proteins 0.000 description 3
- 101000596743 Homo sapiens Testis-expressed protein 2 Proteins 0.000 description 3
- 102100036406 THO complex subunit 3 Human genes 0.000 description 3
- 102100035105 Testis-expressed protein 2 Human genes 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 101150046160 POL1 gene Proteins 0.000 description 1
- 101100117436 Thermus aquaticus polA gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- 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/05—Geographic models
-
- 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/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B29/00—Maps; Plans; Charts; Diagrams, e.g. route diagram
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/16—Using real world measurements to influence rendering
Definitions
- the present invention relates to a texture generation system that generates a texture representing the appearance of a feature.
- Patent Document 1 discloses a technique for preparing a texture for an entire wall surface by preparing a texture in units of elements such as each floor for a building such as a building and repeatedly applying the texture according to the number of floors.
- 3D maps are required to represent not only day views but also night views.
- the building windows have a mixture of light-on portions and light-off portions.
- One method is to prepare two types of textures that represent the lighting / extinguishing of the windows in the building, and randomly select the two lighting / extinguishing textures for each window to select random lighting. It is possible to express a state. However, since a three-dimensional map includes a large number of buildings, such a method results in a huge processing load for expressing a night view. As a method of reducing such processing load, a method of preparing a plurality of types of textures representing lighting / extinguishing patterns for each group in which a plurality of windows are arranged, and using them properly by random numbers is conceivable. A specific example is shown. FIG.
- FIG. 11 is an explanatory diagram illustrating a three-dimensional map of a night view using two types of lighting patterns.
- 8 windows of 2 rows x 4 columns are grouped.
- the hatched windows in the figure indicate that they are turned off.
- the pattern A is a texture in a state where the lowermost step and the right window on the second step from the bottom are turned off and the other windows are turned on.
- Pattern B is a texture in a state where the lower two windows are turned off and the other windows are turned on.
- the lower part of the figure shows an example in which these lighting patterns are arranged by random numbers to represent a night view. However, if this example is looked at carefully, the pattern A and the pattern B will be found in the framed part of the building, and this will impair the reality to some extent.
- an object of the present invention is to provide a texture generation method that achieves both suppression of processing load and improvement of reality by avoiding regularity.
- the present invention is a texture generation system for generating a texture representing the appearance of a feature in a three-dimensional map, A map database storing a three-dimensional model representing a three-dimensional shape of the feature, and a plurality of types of unit textures selectively applicable to the feature; A matrix storage unit for storing a matrix of a predetermined size in which a control value for controlling selection of the unit texture is stored for each pixel; A texture generation unit that generates a texture of a polygon constituting the three-dimensional model by arranging and pasting a plurality of the unit textures; The texture generator Associating each position of the array in the polygon with a pixel of the matrix; Based on the control value of the matrix corresponding to each position, select one of a plurality of types of unit texture, It can be configured as a texture generation system in which unit textures selected at each position are arranged and pasted.
- a texture in which unit textures are randomly arranged can be generated as a texture representing the appearance of a three-dimensional model. Further, since the control value stored in the matrix is used for selecting the unit texture, it is not necessary to perform a process such as generating a random number for each part of the three-dimensional model, and the processing load can be suppressed. As a result, regularity becomes difficult to recognize with respect to the arrangement of the unit texture, and it becomes possible to express a more natural appearance of the feature. In a three-dimensional map, since there are many three-dimensional models to which texture is applied, the effect of reducing the processing load by using a matrix is very large.
- the size of the matrix can be arbitrarily set. If the size is increased, the correspondence between the positions on the polygon and the pixels of the matrix becomes diversified, so that the arrangement patterns of the selected unit textures can be diversified.
- Various methods can be used for associating each position on the polygon with a pixel in the matrix. For example, a reference point may be defined on the matrix and an area corresponding to the arrangement on the polygon may be associated. When unit pixels are arranged in a 2 ⁇ 3 array on a polygon, 2 ⁇ 3 pixels around a reference point are associated with each position. It is not necessary to assign a continuous area on the matrix to each position on the polygon.
- each position on the polygon is coordinate-converted to a pixel on the matrix by a predetermined function.
- the matrix does not have to be a single type, and a plurality of types may be used properly.
- the “generation” of the texture according to the present invention includes both a mode of generating a single texture image in which unit textures are arranged and a mode of directly pasting while selecting a unit texture on a three-dimensional model.
- a three-dimensional model to which the present invention is applicable for example, a building, a tree, a mountain, a field, a cloud, and the like illustrated in FIG. 11 are conceivable.
- a texture representing the lighting / extinguishing state of a window can be prepared as a unit texture.
- Two types of textures of lighting and extinguishing may be prepared, or three or more types of textures representing lighting patterns of a plurality of windows may be prepared.
- textures representing branches and leaves in various states can be prepared as unit textures.
- Various trees can be expressed by arranging these unit textures around the trunk of the tree while selecting them.
- the unit textures may be arranged to overlap each other.
- mountains and fields may be prepared with unit textures representing various states such as trees and crops.
- textures representing various colors of each part of one cloud such as white and gray can be prepared. If these textures are selected and arranged for each cloud portion, various clouds in which various colors are mixed can be easily expressed.
- the unit textures may be arranged to overlap each other.
- the present invention can be applied to various other three-dimensional models.
- the control values stored in the matrix can take various forms.
- the matrix may store control values corresponding one-to-one with each type of the unit texture.
- control values may be three types. If the unit texture and the control value correspond to each other in this manner, the unit texture can be determined unambiguously according to the control value of the matrix, thereby further reducing the processing load. Can do.
- the matrix stores control values in a numerical range wider than the number of types of unit textures
- the texture generation unit may perform the selection by quantizing the control value into the number of types of the unit texture by comparing the control value with a predetermined threshold value. For example, one of the values in the range of 0 to 255 is stored as the control value. If two types of unit textures are prepared, one of the unit textures may be selected according to the magnitude relationship between the threshold value and the control value. When three types of unit textures are prepared, first and second thresholds having different values (first threshold ⁇ second threshold) are prepared. (1) When control value ⁇ first threshold (2) When the first threshold ⁇ the control value ⁇ the second threshold, three types of unit textures may be selected in the case of (3) the second threshold ⁇ the control value.
- the range and threshold value of the control value can be arbitrarily set, and there is an advantage that the rate at which the unit texture is used can be flexibly set according to these settings.
- the texture generation unit may perform the selection by changing the threshold according to a predetermined condition.
- a predetermined condition By doing so, there is an advantage that the ratio in which the unit texture is used can be changed according to the conditions, and various textures can be generated. For example, when two types of textures representing lighting / extinguishing of windows are used for a building, by changing the threshold value according to time, the state of the evening when most windows are lit or most windows It is possible to express various night scenes such as in the midnight state when is turned off.
- the texture generation unit may change the correspondence between each position of the array and the pixels of the matrix every time the texture is generated. By doing so, each time a texture is generated, different pixels of the matrix, that is, different control values can be used, and the arrangement of unit textures can be changed more variously.
- the association may be changed, for example, every time a feature for which a texture is generated is different, or may be changed every time a polygon for generating a texture in the same feature is different.
- the method for changing the association can also take various forms. For example, in a mode in which pixels around the reference point of the matrix are associated, the position of the reference point may be changed. The position of the reference point may be changed regularly or may be changed based on a random number or the like. Further, when associating each position of the array with a pixel by a function, the function used for the association may be changed.
- the unit texture has various forms.
- the unit texture is stored as a single integrated texture in which a plurality of types of unit textures are arranged so as not to overlap each other.
- the texture generation unit may paste a portion corresponding to the selected unit texture among the integrated textures according to the selection. If a plurality of types of unit textures are prepared as individual image data, it may be necessary to read out each unit texture according to the selection result.
- an integrated texture in which a plurality of types of unit textures are arranged is prepared, so as long as the integrated texture is read from the memory, there is no need to repeat the reading process according to the unit texture selection result. The processing load can be reduced.
- the unit textures are not necessarily arranged without a gap, and a gap may exist between the unit textures.
- the integrated texture is not limited to one.
- the unit textures may be divided into a plurality of groups, and an integrated texture may be prepared for each group.
- the present invention may be configured not only as a texture generation system but also as a three-dimensional map display system with such texture generation. Moreover, it can also comprise as a texture generation method which produces
- the present invention may be further configured as a computer program for causing a computer to execute generation of a texture and display of a three-dimensional map. Moreover, you may comprise as a computer-readable recording medium which recorded such a computer program.
- the texture generation system of the present invention is implemented in a form incorporated in a three-dimensional map display system.
- the three-dimensional map display system can be configured by using various devices such as a mobile terminal such as a smartphone, a mobile phone, and a tablet terminal, and a navigation device in addition to a computer.
- a mobile terminal such as a smartphone, a mobile phone, and a tablet terminal
- a navigation device in addition to a computer.
- a stand-alone system is illustrated, but the map database 20 shown in the figure may be stored in a server, and the server and the navigation device may be connected via a network.
- FIG. 1 is an explanatory diagram showing a configuration of a three-dimensional map display system.
- the three-dimensional display system 10 as an embodiment is realized by software by installing a computer program for realizing each function shown in a computer having a CPU, a RAM, and a ROM. At least a part of each function may be configured in hardware.
- the computer may be equipped with a GPU (Graphics Processing Unit) in addition to the CPU in order to perform 3D map graphics.
- GPU Graphics Processing Unit
- the map database 20 stores data necessary for displaying a three-dimensional map.
- a three-dimensional model 21 and texture data 22 are shown.
- a character database for storing characters to be displayed on the map may be provided.
- network data for route search that is, a database representing roads as links and nodes may be provided.
- the three-dimensional model 21 stores polygon data representing a three-dimensional shape of a feature such as a building.
- the texture data 22 stores image data representing the appearance of the feature as a texture to be attached to the polygon.
- the daytime texture 23 is a texture used when displaying a three-dimensional map of the daytime scene.
- the night scene texture 24 is a texture used when displaying a three-dimensional map of the night scene.
- an image representing the shape of the window is prepared as the daytime texture 23, and an image representing the lighting state of the window, an image representing the unlit state, and the like are prepared as the night scene texture 24.
- the texture data 22 is prepared by mixing a texture to be applied to the whole polygon and a unit texture to be arranged and attached to the polygon. The structure of texture data and the like will be described later.
- the command input unit 11 inputs a user command via an operation unit such as a keyboard and a mouse or a network.
- Examples of the command include a display range, a viewpoint, a line-of-sight direction, and a display mode when displaying a three-dimensional map.
- the map display control unit 12 controls display of a three-dimensional map. It also reads necessary data from the map database.
- the three-dimensional polygon generation unit 13 arranges a three-dimensional model 21 of each feature in the virtual three-dimensional space in order to display a three-dimensional map.
- the texture generation unit 14 attaches a texture to the surface of the three-dimensional polygon.
- the daytime texture generating unit 15 uses the daytime texture 23 to paste a texture representing a day scene.
- the night texture generation unit 16 uses the night texture 24 to attach a texture representing a night view.
- two types of unit textures representing the on / off state of the window are randomly selected and arranged to generate a texture in which the building windows are randomly lit. is doing.
- a matrix storing control values used for selecting a unit texture is used.
- the matrix storage unit 17 stores this matrix.
- “generation” of a texture includes both a mode in which a plurality of unit textures are arranged to generate one texture and a mode in which a plurality of unit textures are sequentially pasted on a polygon.
- the texture generation unit 14 generates a polygon texture in the latter mode, that is, a mode in which unit textures are sequentially pasted onto a polygon.
- the map database 20, the texture generation unit 14, and the matrix storage unit 17 constitute a texture generation system according to the present invention.
- FIG. 2 is an explanatory diagram showing the structure of the map database.
- An example of data of the three-dimensional model 21 is shown on the upper side of the figure.
- the three-dimensional model 21 stores data such as feature ID, type, and polygon.
- the feature ID is feature identification information.
- “B01” is assigned as the feature ID.
- the type is the type of the feature, and “building” in the example shown on the right.
- various types of information such as roads, railways, mountains, and fields can be used as types. Also, trees, clouds, etc. may be included in the types.
- the polygon stores the illustrated data.
- the polygon ID is identification information of each polygon constituting the three-dimensional model.
- POL1 is attached to the polygon in front of the building.
- the shape is data for specifying the shape of the polygon.
- the coordinate value of the vertex is stored.
- three-dimensional coordinate values are stored for each of the vertexes PP1, PP2, PP3, and PP4 of the polygon.
- coordinate values absolute coordinates based on the origin of the entire three-dimensional map may be used, or relative coordinates based on the reference point set for each feature may be used. In the latter case, the absolute coordinate value of the reference point is separately stored in the three-dimensional model 21.
- the number of texture repetitions is information that defines the arrangement of textures attached to the polygons.
- the three-dimensional model 21 may include attribute data representing the attribute of the feature. For example, for a building, data representing a name, a floor number, and the like can be used as attribute data.
- the texture data 22 stores a daytime texture and a nighttime texture. Each texture is composed of a texture ID as identification information and image data.
- TEX1 is assigned as the texture ID for the daytime texture, and an image representing the shape of the window is prepared.
- “TEX1” is designated as the daytime texture. Therefore, when representing the day view of the building (B01) shown on the right side of the figure, the TEX1 of the texture data 22 is used.
- the image to be represented is repeatedly arranged in 2 ⁇ 3.
- “TEX2” is assigned as the texture ID for the night texture, and two types of images are prepared: an OFF image with the window turned off and an ON image with the window turned on.
- “TEX2” is designated as the night texture. Therefore, when the night view is represented for the building (B01) shown on the right side of the figure, the texture data 22 is represented by TEX2.
- the ON image and OFF image to be selected are repeatedly arranged in the horizontal 2 ⁇ vertical 3 while being selected.
- individual texture IDs such as “TEX2OFF” and “TEX2ON” may be attached to the OFF image and the ON image.
- information associating both as night textures may be prepared in the texture data 22, and two texture IDs “TEX2OFF” and “TEX2ON” are stored as night textures of the three-dimensional model 21. You may do it.
- For the night texture it is not always necessary to prepare a plurality of types of images such as an OFF image and an ON image for each three-dimensional model, and a single image may be prepared.
- FIG. 3 is a flowchart of the three-dimensional map display process.
- the three-dimensional map display system 10 sets a map display range (step S10).
- the display range of the map may be based on an instruction from the user, for example.
- the 3D map display system is incorporated in the route guidance system, it may be set according to the route search result, the current position, or the like.
- the three-dimensional map display system 10 reads a three-dimensional model necessary for map display from the map database 20 according to the display range of the map, and arranges it in the virtual three-dimensional space (step S12).
- the background and texture are displayed according to the map display mode.
- the three-dimensional map display system 10 sets a daytime background, a sky or a distant view, etc. (step S16). Then, the daytime texture is displayed on the feature (step S18). The daytime texture designated by the three-dimensional model 21 is read from the texture data 22 and pasted to each polygon.
- a night scene background such as a dark sky is set (step S20), and night scene texture generation processing is executed for the feature (step S22).
- This process is a process of reading a night texture designated by the three-dimensional model 21 from the texture data 22, and selecting and pasting an ON image and an OFF image at random according to a polygon part. Details of the process will be described later.
- the three-dimensional map display system 10 displays the three-dimensional map by performing the above processing on each feature.
- FIG. 4 is a flowchart of night scene texture generation processing. This is a process corresponding to step S22 of the three-dimensional map display process (FIG. 3).
- the three-dimensional map display system 10 reads a matrix from the matrix storage unit 17 (step S50).
- the matrix stores control values for selecting an ON image and an OFF image for each pixel.
- the unit textures to be selected are two types of ON images and OFF images, binary values of 0 and 1 are stored in the matrix.
- the 3D map display system 10 selects a feature to be processed as a target model (step S51).
- the target model may be selected from those for which texture generation is not yet processed.
- the 3D map display system 10 determines that the ON image and the OFF image are not properly used, and affixes the night texture designated by the 3D model 21 (step S53). ).
- the night texture may be affixed to the entire polygon without repetition, or may be affixed in a repeated arrangement as shown in FIG.
- the 3D map display system 10 sets the number of repetitions according to the number of texture repetitions of the 3D model 21 (step S54).
- a coordinate value corresponding to the number of repetitions is given as a two-dimensional coordinate system (U, V) for attaching a texture.
- U, V two-dimensional coordinate system
- the lower left corner of the polygon is the origin (0, 0)
- the lower right corner is (2, 0)
- the upper left corner is (0, 3)
- the upper right corner is (2, 3).
- the specified texture image is pasted so as to fit in the rectangular area represented by the vertex of (0, 0)-(1, 1) in the UV coordinate value, and a value exceeding 1 is set as the UV coordinate value. When it is pasted repeatedly depending on the value.
- the three-dimensional map display system 10 sets a reference point that defines the use area of the matrix (step S55).
- the reference point may be a fixed point set arbitrarily such as the lower left of the matrix, or may be selected by a certain rule or random number each time this process is executed. In this embodiment, random numbers are generated and the x and y coordinates of the reference point are set.
- the 3D map display system 10 selects and pastes a unit texture according to the control value of the matrix (step S56).
- the three-dimensional map display system 10 attaches a night texture to the target model by the above processing. This process is repeatedly executed until all target models are completed (step S57). In the present embodiment, the process is divided depending on whether the target model is a building (see step S52). However, only two types of unit textures, an ON image and an OFF image, are used for only the building. Because. When a plurality of types of unit textures are selected and used for features other than buildings, the same processing (steps S54 to S56) as for buildings may be performed for such features.
- FIG. 5 is an explanatory diagram showing a unit texture selection method.
- An example of the matrix is shown on the upper side of the figure.
- the size is 256 ⁇ 256 pixels, but the size of the matrix can be arbitrarily set.
- binary values of 0 and 1 are stored in each pixel of the matrix.
- the pixel storing the value 0 is represented by black, and the pixel storing 1 is represented by white.
- the values 0 and 1 are approximately the same and are set so as to be distributed without any deviation. However, the ratio and distribution of the values 0 and 1 can be arbitrarily set.
- Such a matrix can use a method in which the operator specifies the value of each pixel, a method in which the value of each pixel is determined by a function or a random number, and the like.
- the reference points set in step S55 of the night scene texture generation process (FIG. 4) are also shown.
- the lower left corner of the matrix is the origin O, and the pixel at the position Mx in the horizontal direction and My in the vertical direction is the reference point.
- the coordinates of the reference point (Mx, My) can be determined by a random number, a function, or the like.
- the middle part of the figure is an enlarged view of a part of the matrix.
- a rectangular area having the reference point (Mx, My) at the lower left is shown.
- Each square in the figure represents a pixel of the matrix, and a control value of 0 or 1 is stored therein.
- the three-dimensional map display system 10 sets each pixel in the region A corresponding to the number of repetitions of the unit texture as a polygon, with the matrix reference point (Mx, My) as the origin. Associate with each part.
- FIG. 4 when unit textures are arranged with a repetition number of 2 ⁇ 3 in the horizontal direction, a region A composed of 2 ⁇ 3 pixels in the matrix is associated with each part.
- the lower part of the figure shows the selection result of the ON image and the OFF image. Since the control value 0 is stored in the lower left pixel of the area A, the OFF image is selected (see step S56 in FIG. 4). The same applies to the lower right pixel.
- the left control value is 1 and the right control value is 0, so an ON image is selected on the left side and an OFF image is selected on the right side.
- the left control value is 0 and the right control value is 1, so that an OFF image is selected on the left side and an ON image is selected on the right side.
- the ON image and the OFF image according to the control value of the pixel and pasting it on the corresponding part of the polygon, it is possible to generate the texture of the entire building as shown in the lower part of the figure. Since the distribution of the control values in the matrix differs depending on the region, if the reference point is different, the region used for selecting the unit texture changes, and the obtained result also differs. Even when a fixed reference point is used at all times, if the number of repetitions is different, the size of the region applied to the selection changes, so the impression of the obtained result is different.
- the processing described in FIG. 5 is particularly useful when using a GPU.
- a GPU is designed so that relatively simple processing can be performed at high speed, and the conditional branch has a characteristic that processing speed is relatively slow.
- the speed can be increased. For example, if the obtained control value of 0 or 1 is used as an argument for designating the ON image and the OFF image as they are, it is possible to use both without using conditional branching.
- each part of the polygon is associated with the region A set around the reference point, but the association may be performed based on a function. As long as any pixel in the matrix can be assigned to each part of the polygon, it is not always necessary to assign an area having the same shape as the polygon.
- FIG. 6 is an explanatory diagram showing a display example (1) of a three-dimensional map.
- a three-dimensional map of a night view is displayed under the same conditions as shown in FIG. In FIG. 11, it is possible to visually recognize parts such as the pattern A and the pattern B in which the lighting / extinguishing state is regularly arranged. In the display example (1) in FIG. 6, such regularity can be found. Can not.
- a more natural state can be displayed as the lighting / extinguishing state of the building in the night view.
- FIG. 7 is an explanatory view showing a display example (2) of the three-dimensional map. The example which looked down from the upper viewpoint from the display example of FIG. 6 was shown. Increasing the viewpoint position makes it possible to see more windows of the building, but even in such a state, the lighting / extinguishing state with no sense of incongruity can be displayed for the building window.
- the unit texture is preferably as close as possible to the smallest element unit, that is, one window in the example of the building, and even when a plurality of windows are included, it is preferable that the unit texture is arranged one-dimensionally.
- This embodiment is a technique for selecting and arranging a plurality of unit textures with respect to a three-dimensional model, and is not limited to a night view expression of a building.
- it is possible to display various features while suppressing the processing load, and to further improve the reality of the three-dimensional map. For example, if a plurality of unit textures having different branches and leaves are selected and applied to a tree, a variety of trees can be expressed. If unit textures of various colors such as white and gray are selected and applied to the clouds, clouds of various shapes and colors can be expressed.
- the unit textures may be pasted so as to overlap each other.
- FIG. 8 is an explanatory diagram showing a unit texture selection method in the modification (1).
- the two types of unit textures of the ON image and the OFF image are used.
- the three types of unit textures shown in the lower right are used.
- the zero image is a unit texture in which two windows are turned off.
- One image is a unit texture with the left side turned off and the right side turned on.
- Two images are unit textures in which two windows are lit.
- the matrix stores three values of 0, 1, and 2, as shown in the upper part. By doing so, as in the embodiment, three types of unit textures can be selectively used according to each pixel of the matrix.
- a 0 image is stored in a pixel storing a control value of 0
- a 1 image is stored in a pixel storing a control value of 1
- a 2 image is stored in a pixel storing a control value of 2.
- FIG. 9 is an explanatory diagram showing a unit texture selection method in the modification (2).
- two types of unit textures of ON image and OFF image are used.
- control values in the range of 0 to 255 that is, control values in a numerical range wider than the number of types of unit textures are stored instead of binary control values of 0 and 1.
- the range of the control value can be arbitrarily set.
- the ON image and the OFF image are selected based on the magnitude relationship between the control value stored in each pixel and the threshold value TH. That is, the OFF image is used when the control value ⁇ TH, and the ON image is used when the control value> TH.
- the obtained texture can be changed by changing the threshold value TH.
- the threshold TH may be specified by the user or may be changed according to conditions such as the time for displaying the three-dimensional map.
- the modification (2) it is possible to use three or more types of unit textures.
- three types of unit textures (0 image, 1 image, 2 images) as in the modified example (1) (FIG. 8)
- two thresholds TH1 and TH2 (TH1 ⁇ TH2) may be used.
- the control value ⁇ TH1 it is possible to use 0 image, when TH1 ⁇ control value ⁇ TH2, one image, and when TH2 ⁇ control value, two images. In this case, it is possible to change the proportion of the three types of unit textures by changing at least one of the threshold values TH1 and TH2.
- FIG. 10 is an explanatory diagram showing a unit texture arrangement method as a modification.
- unit textures are not prepared as individual image data, but are prepared as integrated textures arranged in one.
- An example of an integrated texture is shown in the middle.
- a day image is arranged on the upper stage of one image
- an OFF image for night is arranged on the left side of the lower stage
- an ON image for night is arranged on the right side of the lower stage.
- the three unit textures are arranged without a gap, but a gap may be provided.
- the position of the image of the integrated texture is represented by a coordinate system (tu, tv) defined for the integrated texture.
- the upper side of the figure shows how to use the texture when displaying the day view.
- a UV coordinate system is defined for the texture of the building. Since the daytime image is attached to the building, the daytime image point tp3 is made to correspond to the lower left point P3 as a unit of arrangement, and the daytime image point tp6 is made to correspond to the upper right point P6. Perform coordinate transformation. If the point P3 is (0, 0) in the UV coordinate system and the point P6 is (1, 1), the coordinates of the point tp3 are (0, 0) and the coordinates of the point tp6 are (1, 1) ( The coordinate system of tu, tv) may be translated and enlarged / reduced. The bottom of the figure shows how to use the texture when displaying the night view.
- coordinate conversion is performed so that the OFF image and the vertex of the ON image correspond to each area serving as a unit of arrangement.
- coordinate conversion may be performed so that the points tp1 and tp4 of the OFF image correspond to the points P1 and P4, respectively.
- it is necessary to perform coordinate conversion so that the points P1 and P4 of the polygon to be pasted are (0, 0) and (1, 1) in the UV coordinate system, respectively.
- the texture corresponding to the range of (0, 0) and (1, 1) is repeatedly applied.
- the points P2 and P5 are coordinate-converted to (0, 0) and (1, 1) in the UV coordinate system, and these two points correspond to the points tp2 and tp5 of the ON image. It is sufficient to perform coordinate conversion so that In this way, by shifting the portion to be used in the integrated texture according to the selection result of the unit texture to be pasted, an image similar to that in the embodiment can be obtained. If the unit texture is stored as an individual image, it is necessary to read the unit texture each time according to the selection result.
- the processing speed can be further increased. Also in this modification, it is possible to use three or more types of unit textures for night.
- the present invention can be used to generate a texture representing the appearance of a feature.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Databases & Information Systems (AREA)
- Educational Technology (AREA)
- Educational Administration (AREA)
- Business, Economics & Management (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
- Instructional Devices (AREA)
Abstract
【課題】 地物の表面に単位テクスチャをランダムに配列することで、処理負荷を抑制しながら、リアリティの高いテクスチャを生成する。 【解決手段】 建物などの地物に対して、1つまたは複数の窓を単位として、点灯状態を表したON画像、消灯状態を表したOFF画像という単位テクスチャを用意する。また、テクスチャとは別に、ピクセルごとに0または1を格納した2値のマトリックスを用意する。建物の表面にテクスチャを貼付する際には、建物に応じた単位テクスチャの配列数(横2×縦3など)を決定し、マトリックスの任意の部分から、この配列に相当するピクセルを取得する。そして、マトリックスに格納された1、0の値に応じてON画像、OFF画像を選択して建物の表面に貼り付ける。こうすることにより、建物の外観として、処理負荷を抑制しながら、点灯、消灯がランダムに混在した状態のリアリティの高いテクスチャを生成することができる。
Description
本発明は、地物の外観を表すテクスチャを生成するテクスチャ生成システムに関する。
ナビゲーション装置やコンピュータの画面等に用いられる電子地図として、建物などの地物を3次元的に表現した3次元地図がある。3次元地図では、3次元モデルによって地物の3次元形状を表し、その表面に、地物の外観を表したテクスチャを貼付することで、リアリティを向上させている。テクスチャは、地物の外観全体ではなく、窓などの部分に対して生成されることもある。特許文献1は、ビルのような建物に対し、各階などの要素単位でテクスチャを用意しておき、これを階数に応じて繰り返し適用することで壁面全体のテクスチャとする技術を開示している。
近年、3次元地図のリアリティ向上に対する要請はますます高くなり、3次元地図で昼景だけでなく夜景を表すことも求められている。夜景の場合、ビルの窓は、明かりが点灯している部分と、消灯している部分とが混在する。夜景のリアリティを向上させるためには、明かりの点灯、消灯を混在させたテクスチャを用意する必要がある。
近年、3次元地図のリアリティ向上に対する要請はますます高くなり、3次元地図で昼景だけでなく夜景を表すことも求められている。夜景の場合、ビルの窓は、明かりが点灯している部分と、消灯している部分とが混在する。夜景のリアリティを向上させるためには、明かりの点灯、消灯を混在させたテクスチャを用意する必要がある。
夜景のリアリティを向上させるためには、明かりの点灯、消灯をランダムに配置することが望ましい。一つの方法として、建物の窓の点灯/消灯をそれぞれ表す2種類のテクスチャを用意し、窓ごとに乱数によって、点灯/消灯の2種類のテクスチャを選択しながら配置すれば、全体にランダムな点灯状態を表現することが可能である。しかし、3次元地図には多数の建物が含まれているため、このような方法では、夜景を表現するための処理負荷が膨大なものとなってしまう。
かかる処理負荷を軽減する方法として、複数の窓を配列したグループ単位で、点灯/消灯のパターンを表したテクスチャを複数種類用意し、乱数によって使い分けるという方法が考えられる。具体例を示す。
図11は、2種類の点灯パターンを用いた夜景の3次元地図を例示する説明図である。この例では、図の上側に示すように、横2列×縦4段の8つの窓をグループとしている。図中のハッチングを示した窓は消灯していることを表している。パターンAは、一番下の段と、下から2段目の右側の窓が消灯し、他の窓が点灯している状態のテクスチャである。パターンBは、下の2段の窓が消灯し、他の窓が点灯している状態のテクスチャである。図の下側には、これらの点灯パターンを、乱数によって配置して夜景を表した例を示した。しかし、この例を注意深く見ると、建物の枠囲みの部分に、パターンA、パターンBが見いだされ、このことによってリアリティが少なからず損なわれてしまうことになる。
かかる処理負荷を軽減する方法として、複数の窓を配列したグループ単位で、点灯/消灯のパターンを表したテクスチャを複数種類用意し、乱数によって使い分けるという方法が考えられる。具体例を示す。
図11は、2種類の点灯パターンを用いた夜景の3次元地図を例示する説明図である。この例では、図の上側に示すように、横2列×縦4段の8つの窓をグループとしている。図中のハッチングを示した窓は消灯していることを表している。パターンAは、一番下の段と、下から2段目の右側の窓が消灯し、他の窓が点灯している状態のテクスチャである。パターンBは、下の2段の窓が消灯し、他の窓が点灯している状態のテクスチャである。図の下側には、これらの点灯パターンを、乱数によって配置して夜景を表した例を示した。しかし、この例を注意深く見ると、建物の枠囲みの部分に、パターンA、パターンBが見いだされ、このことによってリアリティが少なからず損なわれてしまうことになる。
つまり、リアリティを向上させるために最小単位である窓ごとに乱数を用いるようにすれば処理負荷が膨大なものとなり、逆に、処理負荷を軽減するために複数の窓を配列したグループ単位でテクスチャを使い分けるようにすればリアリティが損なわれてしまうのである。同様の課題は、窓を対象とする場合に限られず、また夜景に限られるものでもない。樹木においても、枝や葉を表したテクスチャなど樹木の部分に適用できる複数種類の単位テクスチャを用意し、ランダムに単位テクスチャを選択しながら全体のテクスチャを生成することができる。山、田畑、雲などにおいても、同様である。上述の課題は、複数種類のテクスチャを選択しながら適用可能な種々の地物において同様に生じ得る。
本発明は、かかる課題に鑑み、処理負荷の抑制と、規則性を回避することによるリアリティの向上とを両立させたテクスチャの生成方法を提供することを目的とする。
本発明は、かかる課題に鑑み、処理負荷の抑制と、規則性を回避することによるリアリティの向上とを両立させたテクスチャの生成方法を提供することを目的とする。
本発明は、3次元地図において地物の外観を表すテクスチャを生成するテクスチャ生成システムであって、
前記地物の3次元形状を表す3次元モデルと、該地物に選択的に適用可能な複数種類の単位テクスチャとを記憶する地図データベースと、
前記単位テクスチャの選択を制御する制御値をピクセルごとに記憶した所定サイズのマトリックスを記憶するマトリックス記憶部と、
複数の前記単位テクスチャを配列して貼付することにより前記3次元モデルを構成するポリゴンのテクスチャを生成するテクスチャ生成部とを備え、
該テクスチャ生成部は、
前記ポリゴンにおける前記配列の各位置と、前記マトリックスのピクセルとを対応づけ、
前記各位置に対応する前記マトリックスの制御値に基づいて、複数種類の前記単位テクスチャのいずれかを選択し、
前記各位置に、それぞれ選択された単位テクスチャを配列して貼付するテクスチャ生成システムとして構成することができる。
前記地物の3次元形状を表す3次元モデルと、該地物に選択的に適用可能な複数種類の単位テクスチャとを記憶する地図データベースと、
前記単位テクスチャの選択を制御する制御値をピクセルごとに記憶した所定サイズのマトリックスを記憶するマトリックス記憶部と、
複数の前記単位テクスチャを配列して貼付することにより前記3次元モデルを構成するポリゴンのテクスチャを生成するテクスチャ生成部とを備え、
該テクスチャ生成部は、
前記ポリゴンにおける前記配列の各位置と、前記マトリックスのピクセルとを対応づけ、
前記各位置に対応する前記マトリックスの制御値に基づいて、複数種類の前記単位テクスチャのいずれかを選択し、
前記各位置に、それぞれ選択された単位テクスチャを配列して貼付するテクスチャ生成システムとして構成することができる。
本発明によれば、3次元モデルの外観を表すテクスチャとして、単位テクスチャがランダムに配置されたテクスチャを生成することができる。また、単位テクスチャの選択には、マトリックスに記憶された制御値を用いるため、3次元モデルの部位ごとに乱数を発生させるなどの処理を行う必要がなく、処理負荷を抑制することができる。この結果、単位テクスチャの配置に対して、規則性が認識されにくくなり、地物について、より自然な外観を表現することが可能となる。
3次元地図では、テクスチャを適用すべき3次元モデルが多数存在するため、マトリックスを用いることによる処理負荷の軽減効果は非常に大きい。
3次元地図では、テクスチャを適用すべき3次元モデルが多数存在するため、マトリックスを用いることによる処理負荷の軽減効果は非常に大きい。
マトリックスのサイズは任意に設定可能である。そのサイズを大きくしておけば、ポリゴン上の各位置とマトリックスのピクセルとの対応づけが多様となるため、選択された単位テクスチャの配置パターンもより多様とすることができる。
ポリゴン上の各位置とマトリックスのピクセルとの対応付けは、種々の方法をとることができる。例えば、マトリックス上に基準点を定め、ポリゴン上の配列に応じた領域を対応づけてもよい。単位ピクセルをポリゴンに横2×縦3の配列で配置する場合には、それぞれの位置に基準点周りの2×3ピクセルを対応させるという方法である。ポリゴン上の各位置に対し、マトリックス上の連続した領域を割り当てる必要はない。例えば、ポリゴン上の各位置を所定の関数でマトリックス上のピクセルに座標変換する方法をとってもよい。
マトリックスは、単一種類である必要はなく、複数種類を使い分けるようにしてもよい。ただし、メモリからマトリックスを読み出す処理を軽減するという観点からは、多数のマトリックスを用意するよりも、単一の大きなサイズのマトリックスを用意する方が好ましい。
ポリゴン上の各位置とマトリックスのピクセルとの対応付けは、種々の方法をとることができる。例えば、マトリックス上に基準点を定め、ポリゴン上の配列に応じた領域を対応づけてもよい。単位ピクセルをポリゴンに横2×縦3の配列で配置する場合には、それぞれの位置に基準点周りの2×3ピクセルを対応させるという方法である。ポリゴン上の各位置に対し、マトリックス上の連続した領域を割り当てる必要はない。例えば、ポリゴン上の各位置を所定の関数でマトリックス上のピクセルに座標変換する方法をとってもよい。
マトリックスは、単一種類である必要はなく、複数種類を使い分けるようにしてもよい。ただし、メモリからマトリックスを読み出す処理を軽減するという観点からは、多数のマトリックスを用意するよりも、単一の大きなサイズのマトリックスを用意する方が好ましい。
本発明におけるテクスチャの「生成」は、単位テクスチャを配列した1枚のテクスチャ画像を生成する態様、および3次元モデルに単位テクスチャを選択しながら直接貼付する態様の双方を含む。
本発明を適用可能な3次元モデルとしては、例えば、図11に例示したような建物、樹木、山、田畑、雲などが考えられる。建物の場合は、単位テクスチャとして、窓の点灯/消灯状態を表すテクスチャを用意することができる。点灯、消灯の2種類のテクスチャを用意してもよいし、複数の窓の点灯パターンを表す3種類以上のテクスチャを用意してもよい。樹木の場合は、単位テクスチャとして、種々の状態の枝や葉などを表すテクスチャを用意することができる。そして、樹木の幹の周囲に、これらの単位テクスチャを選択しながら配置することによって、多様な樹木を表現することが可能となる。単位テクスチャ同士を重ねて配置するようにしてもよい。山や田畑も同様に、樹木や作物などの種々の状態を表す単位テクスチャを用意すればよい。雲の場合は、白、グレーなど、一つの雲の各部位の種々の色を表すテクスチャを用意することができる。雲の部分ごとに、これらのテクスチャを選択して配置すれば、種々の色が混じった多様な雲を容易に表現することができる。単位テクスチャ同士を重ねて配置するようにしてもよい。本発明は、この他にも多様な3次元モデルに適用可能である。
本発明を適用可能な3次元モデルとしては、例えば、図11に例示したような建物、樹木、山、田畑、雲などが考えられる。建物の場合は、単位テクスチャとして、窓の点灯/消灯状態を表すテクスチャを用意することができる。点灯、消灯の2種類のテクスチャを用意してもよいし、複数の窓の点灯パターンを表す3種類以上のテクスチャを用意してもよい。樹木の場合は、単位テクスチャとして、種々の状態の枝や葉などを表すテクスチャを用意することができる。そして、樹木の幹の周囲に、これらの単位テクスチャを選択しながら配置することによって、多様な樹木を表現することが可能となる。単位テクスチャ同士を重ねて配置するようにしてもよい。山や田畑も同様に、樹木や作物などの種々の状態を表す単位テクスチャを用意すればよい。雲の場合は、白、グレーなど、一つの雲の各部位の種々の色を表すテクスチャを用意することができる。雲の部分ごとに、これらのテクスチャを選択して配置すれば、種々の色が混じった多様な雲を容易に表現することができる。単位テクスチャ同士を重ねて配置するようにしてもよい。本発明は、この他にも多様な3次元モデルに適用可能である。
本発明において、マトリックスに格納される制御値は、種々の態様をとることができる。
例えば、前記マトリックスは、前記単位テクスチャの各種類と1対1に対応する制御値を記憶しているものとしてもよい。
例えば、単位テクスチャが2種類用意されているときは、制御値も2種類とする態様である。必ずしも0と1のように連続の値とする必要はなく、10と100など任意の値をとることができる。単位テクスチャが3種類用意されているときは、制御値も3種類とすればよい。
このように単位テクスチャと制御値が1対1に対応するようにしておけば、マトリックスの制御値に応じて速やかに単位テクスチャを一義的に決定することができるため、処理負荷をより軽減することができる。
例えば、前記マトリックスは、前記単位テクスチャの各種類と1対1に対応する制御値を記憶しているものとしてもよい。
例えば、単位テクスチャが2種類用意されているときは、制御値も2種類とする態様である。必ずしも0と1のように連続の値とする必要はなく、10と100など任意の値をとることができる。単位テクスチャが3種類用意されているときは、制御値も3種類とすればよい。
このように単位テクスチャと制御値が1対1に対応するようにしておけば、マトリックスの制御値に応じて速やかに単位テクスチャを一義的に決定することができるため、処理負荷をより軽減することができる。
また、本発明において、
前記マトリックスは、前記単位テクスチャの種類数よりも広い数値範囲の制御値を記憶しており、
前記テクスチャ生成部は、前記制御値と所定の閾値との比較により、前記制御値を前記単位テクスチャの種類数に量子化して前記選択を行うものとしてもよい。
例えば、制御値として0~255の範囲のいずれかの値を格納しておく態様である。単位テクスチャが2種類用意されている場合には、閾値と制御値との大小関係に応じて、いずれかの単位テクスチャを選択するようにすればよい。単位テクスチャが3種類用意されている場合には、値が異なる第1、第2の閾値(第1の閾値<第2の閾値)を用意し、(1)制御値<第1の閾値の場合、(2)第1の閾値≦制御値<第2の閾値の場合、(3)第2の閾値≦制御値の場合に分けて3種類の単位テクスチャを選択するようにすればよい。上記態様では、制御値の範囲および閾値は任意に設定可能であり、これらの設定に応じて、単位テクスチャが使用される割合を柔軟に設定することができる利点がある。
前記マトリックスは、前記単位テクスチャの種類数よりも広い数値範囲の制御値を記憶しており、
前記テクスチャ生成部は、前記制御値と所定の閾値との比較により、前記制御値を前記単位テクスチャの種類数に量子化して前記選択を行うものとしてもよい。
例えば、制御値として0~255の範囲のいずれかの値を格納しておく態様である。単位テクスチャが2種類用意されている場合には、閾値と制御値との大小関係に応じて、いずれかの単位テクスチャを選択するようにすればよい。単位テクスチャが3種類用意されている場合には、値が異なる第1、第2の閾値(第1の閾値<第2の閾値)を用意し、(1)制御値<第1の閾値の場合、(2)第1の閾値≦制御値<第2の閾値の場合、(3)第2の閾値≦制御値の場合に分けて3種類の単位テクスチャを選択するようにすればよい。上記態様では、制御値の範囲および閾値は任意に設定可能であり、これらの設定に応じて、単位テクスチャが使用される割合を柔軟に設定することができる利点がある。
閾値を用いる場合には、
前記テクスチャ生成部は、所定の条件に応じて前記閾値を変化させて、前記選択を行うものとしてもよい。
こうすることにより、条件に応じて単位テクスチャが使用される割合を変化させることができ、多様なテクスチャを生成することができる利点がある。例えば、建物に対して、窓の点灯/消灯を表す2種類のテクスチャを用いる場合、閾値を時間に応じて変化させることによって、ほとんどの窓が点灯している夕刻過ぎの状態や、ほとんどの窓が消灯している夜中の状態など、多様な夜景を表現することが可能となる。
前記テクスチャ生成部は、所定の条件に応じて前記閾値を変化させて、前記選択を行うものとしてもよい。
こうすることにより、条件に応じて単位テクスチャが使用される割合を変化させることができ、多様なテクスチャを生成することができる利点がある。例えば、建物に対して、窓の点灯/消灯を表す2種類のテクスチャを用いる場合、閾値を時間に応じて変化させることによって、ほとんどの窓が点灯している夕刻過ぎの状態や、ほとんどの窓が消灯している夜中の状態など、多様な夜景を表現することが可能となる。
単位テクスチャをどのように選択するかに関わらず、
前記テクスチャ生成部は、前記テクスチャの生成ごとに、前記配列の各位置と前記マトリックスのピクセルとの対応づけを変化させるものとしてもよい。
こうすることにより、テクスチャを生成する度に、マトリックスの異なるピクセル、即ち異なる制御値を用いることができ、単位テクスチャの配列をより多様に変化させることができる。対応づけは、例えば、テクスチャを生成する対象となる地物が異なるごとに変化させてもよいし、同一の地物においてテクスチャを生成するポリゴンが異なるごとに変化させてもよい。
対応付けを変化させる方法も、種々の態様をとることができる。例えば、マトリックスの基準点周囲のピクセルを対応づける態様では、基準点の位置を変化させればよい。基準点の位置は、規則的に変化させてもよいし、乱数などに基づいて変化させてもよい。また、配列の各位置とピクセルとを関数で対応づける場合には、対応づけに用いられる関数を変化させてもよい。
前記テクスチャ生成部は、前記テクスチャの生成ごとに、前記配列の各位置と前記マトリックスのピクセルとの対応づけを変化させるものとしてもよい。
こうすることにより、テクスチャを生成する度に、マトリックスの異なるピクセル、即ち異なる制御値を用いることができ、単位テクスチャの配列をより多様に変化させることができる。対応づけは、例えば、テクスチャを生成する対象となる地物が異なるごとに変化させてもよいし、同一の地物においてテクスチャを生成するポリゴンが異なるごとに変化させてもよい。
対応付けを変化させる方法も、種々の態様をとることができる。例えば、マトリックスの基準点周囲のピクセルを対応づける態様では、基準点の位置を変化させればよい。基準点の位置は、規則的に変化させてもよいし、乱数などに基づいて変化させてもよい。また、配列の各位置とピクセルとを関数で対応づける場合には、対応づけに用いられる関数を変化させてもよい。
また、本発明においては、単位テクスチャの形態も多様である。
前記単位テクスチャは、複数種類の前記単位テクスチャを相互に重ならないように配置した単一の統合テクスチャとして記憶されており、
前記テクスチャ生成部は、前記選択に応じて、前記統合テクスチャのうち選択された単位テクスチャに対応する部分を貼付するものとしてもよい。
仮に、複数種類の単位テクスチャが、個別の画像データとして用意されている場合には、選択結果に応じて、それぞれの単位テクスチャを読み出す処理が必要になることがある。これに対し、上記態様では、複数種類の単位テクスチャを配置した統合テクスチャが用意されているため、統合テクスチャをメモリから読み込みさえすれば、単位テクスチャの選択結果に応じた読み込み処理を繰り返す必要がなくなり、処理負荷を軽減することが可能となる。
統合テクスチャにおいて、単位テクスチャは、必ずしも隙間無く配置されている必要はなく、単位テクスチャの間に隙間が存在してもよい。
統合テクスチャは1つに限られない。非常に多くの単位テクスチャが用いられる場合、単位テクスチャを複数のグループに分け、グループごとに統合テクスチャを用意するようにしてもよい。
前記単位テクスチャは、複数種類の前記単位テクスチャを相互に重ならないように配置した単一の統合テクスチャとして記憶されており、
前記テクスチャ生成部は、前記選択に応じて、前記統合テクスチャのうち選択された単位テクスチャに対応する部分を貼付するものとしてもよい。
仮に、複数種類の単位テクスチャが、個別の画像データとして用意されている場合には、選択結果に応じて、それぞれの単位テクスチャを読み出す処理が必要になることがある。これに対し、上記態様では、複数種類の単位テクスチャを配置した統合テクスチャが用意されているため、統合テクスチャをメモリから読み込みさえすれば、単位テクスチャの選択結果に応じた読み込み処理を繰り返す必要がなくなり、処理負荷を軽減することが可能となる。
統合テクスチャにおいて、単位テクスチャは、必ずしも隙間無く配置されている必要はなく、単位テクスチャの間に隙間が存在してもよい。
統合テクスチャは1つに限られない。非常に多くの単位テクスチャが用いられる場合、単位テクスチャを複数のグループに分け、グループごとに統合テクスチャを用意するようにしてもよい。
本発明においては、上述した種々の特徴を必ずしも全て備えている必要はなく、適宜、その一部を省略したり、組み合わせたりして構成してもよい。
本発明は、テクスチャ生成システムとしての構成だけでなく、こうしたテクスチャ生成を伴う3次元地図表示システムとして構成してもよい。また、コンピュータによって、テクスチャを生成させるテクスチャ生成方法、または3次元地図の表示方法として構成することもできる。本発明は、さらに、テクスチャの生成や3次元地図の表示をコンピュータに実行させるためのコンピュータプログラムとして構成してもよい。また、かかるコンピュータプログラムを記録したコンピュータが読み取り可能な記録媒体として構成してもよい。
本発明は、テクスチャ生成システムとしての構成だけでなく、こうしたテクスチャ生成を伴う3次元地図表示システムとして構成してもよい。また、コンピュータによって、テクスチャを生成させるテクスチャ生成方法、または3次元地図の表示方法として構成することもできる。本発明は、さらに、テクスチャの生成や3次元地図の表示をコンピュータに実行させるためのコンピュータプログラムとして構成してもよい。また、かかるコンピュータプログラムを記録したコンピュータが読み取り可能な記録媒体として構成してもよい。
本発明についてコンピュータのディスプレイ上に3次元地図を表示する3次元地図表示システムとして構成した実施例を説明する。本発明のテクスチャ生成システムは、3次元地図表示システム内に組み込まれた形で実施される。3次元地図表示システムは、コンピュータの他、スマートフォン、携帯電話、タブレット端末などの携帯端末、ナビゲーション装置など種々の装置を用いて構成することもできる。
また、本実施例では、スタンドアロンで稼働するシステムを例示するが、図中に示す地図データベース20等をサーバに格納し、サーバとナビゲーション装置とをネットワークで接続したシステムとして構成してもよい。
また、本実施例では、スタンドアロンで稼働するシステムを例示するが、図中に示す地図データベース20等をサーバに格納し、サーバとナビゲーション装置とをネットワークで接続したシステムとして構成してもよい。
A.システム構成:
図1は、3次元地図表示システムの構成を示す説明図である。実施例としての3次元表示システム10は、CPU、RAM、ROMを備えるコンピュータに、図示する各機能を実現するためのコンピュータプログラムをインストールすることによってソフトウェア的に実現されている。各機能の少なくとも一部は、ハードウェア的に構成するものとしてもよい。また、コンピュータには、3次元地図のグラフィックスを行うために、CPUとは別に、GPU(Graphics Processing Unit)を搭載してもよい。
図1は、3次元地図表示システムの構成を示す説明図である。実施例としての3次元表示システム10は、CPU、RAM、ROMを備えるコンピュータに、図示する各機能を実現するためのコンピュータプログラムをインストールすることによってソフトウェア的に実現されている。各機能の少なくとも一部は、ハードウェア的に構成するものとしてもよい。また、コンピュータには、3次元地図のグラフィックスを行うために、CPUとは別に、GPU(Graphics Processing Unit)を搭載してもよい。
図中の各機能ブロックの機能について説明する。
地図データベース20は、3次元地図を表示するために必要なデータを格納している。図中の例では、3次元モデル21、およびテクスチャデータ22を示した。この他に、例えば、地図中に表示する文字を記憶する文字データベースを備えても良い。また、経路探索のためのネットワークデータ、即ち道路をリンク、ノードで表したデータベースを備えても良い。
3次元モデル21は、建物などの地物の3次元形状を表すポリゴンデータ等を格納する。
テクスチャデータ22は、地物の外観を表す画像データを、ポリゴンに貼付されるためのテクスチャとして記憶する。昼用テクスチャ23は、昼景の3次元地図を表示する際に利用されるテクスチャである。夜景テクスチャ24は、夜景の3次元地図を表示する際に利用されるテクスチャである。ビルのような建物について、昼用テクスチャ23としては窓の形状を表す画像が用意され、夜景テクスチャ24としては、窓の点灯状態を表す画像、消灯状態を表す画像などが用意される。
テクスチャデータ22には、ポリゴン全体に貼付されるテクスチャと、ポリゴンに配列して貼付される単位テクスチャとが混在して用意されている。テクスチャデータ等の構造については、後述する。
地図データベース20は、3次元地図を表示するために必要なデータを格納している。図中の例では、3次元モデル21、およびテクスチャデータ22を示した。この他に、例えば、地図中に表示する文字を記憶する文字データベースを備えても良い。また、経路探索のためのネットワークデータ、即ち道路をリンク、ノードで表したデータベースを備えても良い。
3次元モデル21は、建物などの地物の3次元形状を表すポリゴンデータ等を格納する。
テクスチャデータ22は、地物の外観を表す画像データを、ポリゴンに貼付されるためのテクスチャとして記憶する。昼用テクスチャ23は、昼景の3次元地図を表示する際に利用されるテクスチャである。夜景テクスチャ24は、夜景の3次元地図を表示する際に利用されるテクスチャである。ビルのような建物について、昼用テクスチャ23としては窓の形状を表す画像が用意され、夜景テクスチャ24としては、窓の点灯状態を表す画像、消灯状態を表す画像などが用意される。
テクスチャデータ22には、ポリゴン全体に貼付されるテクスチャと、ポリゴンに配列して貼付される単位テクスチャとが混在して用意されている。テクスチャデータ等の構造については、後述する。
コマンド入力部11は、キーボードやマウスなどの操作部、またはネットワークを介してユーザのコマンドを入力する。コマンドとしては、3次元地図を表示する際の表示範囲、視点、視線方向、表示モードなどが挙げられる。本実施例では、3次元地図を昼景または夜景で表示可能となっているため、両者を切り換えるコマンドを含めてもよい。
地図表示制御部12は、3次元地図の表示を制御する。また、地図データベースから必要なデータの読み込みなども行う。
3次元ポリゴン生成部13は、3次元地図を表示するために仮想3次元空間内に、各地物の3次元モデル21を配置する。
テクスチャ生成部14は、3次元ポリゴンの表面にテクスチャを貼付する。昼用テクスチャ生成部15は、昼用テクスチャ23を用いて、昼景を表すテクスチャの貼付を行う。夜用テクスチャ生成部16は、夜用テクスチャ24を用いて夜景を表すテクスチャの貼付を行う。本実施例では、夜景を表す際には、窓の点灯/消灯状態を表した2種類の単位テクスチャをランダムに選択しながら配置することで、建物の窓がランダムに点灯した状態のテクスチャを生成している。この処理には、単位テクスチャの選択に用いられる制御値を格納したマトリックスが用いられる。マトリックス記憶部17は、このマトリックスを記憶している。
本明細書において、テクスチャの「生成」というとき、複数の単位テクスチャを配置して1枚のテクスチャを生成する態様、および複数の単位テクスチャをポリゴン上に順次、貼付する態様の双方を含む。本実施例では、テクスチャ生成部14は、後者の態様、即ち、単位テクスチャをポリゴン上に順次、貼付する態様でポリゴンのテクスチャを生成している。
以上で説明した機能ブロックのうち、本実施例においては、地図データベース20、テクスチャ生成部14、マトリックス記憶部17が、本発明におけるテクスチャ生成システムを構成することになる。
地図表示制御部12は、3次元地図の表示を制御する。また、地図データベースから必要なデータの読み込みなども行う。
3次元ポリゴン生成部13は、3次元地図を表示するために仮想3次元空間内に、各地物の3次元モデル21を配置する。
テクスチャ生成部14は、3次元ポリゴンの表面にテクスチャを貼付する。昼用テクスチャ生成部15は、昼用テクスチャ23を用いて、昼景を表すテクスチャの貼付を行う。夜用テクスチャ生成部16は、夜用テクスチャ24を用いて夜景を表すテクスチャの貼付を行う。本実施例では、夜景を表す際には、窓の点灯/消灯状態を表した2種類の単位テクスチャをランダムに選択しながら配置することで、建物の窓がランダムに点灯した状態のテクスチャを生成している。この処理には、単位テクスチャの選択に用いられる制御値を格納したマトリックスが用いられる。マトリックス記憶部17は、このマトリックスを記憶している。
本明細書において、テクスチャの「生成」というとき、複数の単位テクスチャを配置して1枚のテクスチャを生成する態様、および複数の単位テクスチャをポリゴン上に順次、貼付する態様の双方を含む。本実施例では、テクスチャ生成部14は、後者の態様、即ち、単位テクスチャをポリゴン上に順次、貼付する態様でポリゴンのテクスチャを生成している。
以上で説明した機能ブロックのうち、本実施例においては、地図データベース20、テクスチャ生成部14、マトリックス記憶部17が、本発明におけるテクスチャ生成システムを構成することになる。
図2は、地図データベースの構造を示す説明図である。
図の上側には、3次元モデル21のデータ例を示した。3次元モデル21には、地物ID、種別、ポリゴンなどのデータが格納される。
地物IDは、地物の識別情報であり、右に示した建物の例では、地物IDとして「B01」が付されている。
種別は、地物の種類であり、右に示した例では「建物」となる。種別としては、この他、道路、鉄道、山、畑など種々の情報を用いることができる。また、樹木、雲などを種別に含めても良い。
ポリゴンには、図示するデータが格納される。
ポリゴンIDは、3次元モデルを構成する各ポリゴンの識別情報であり、右に示した例では、建物の正面のポリゴンにPOL1が付されている。
形状は、ポリゴンの形状を特定するデータであり、本実施例では頂点の座標値を記憶している。右に示した例では、ポリゴンの頂点PP1、PP2、PP3、PP4のそれぞれについて3次元の座標値が格納されることになる。座標値は、3次元地図全体の原点を基準とする絶対座標を用いても良いし、地物ごとに設定された基準点を原点とする相対座標を用いてもよい。後者の場合は、3次元モデル21に、基準点の絶対座標値を別途、格納することになる。
テクスチャ繰り返し数とは、ポリゴンに貼付されるテクスチャの配列を規定する情報である。右の図の例では、建物の表面を横2×縦3の区分に分け、ここに窓のテクスチャを繰り返し貼付する。従って、テクスチャ繰り返し数には、(2,3)というデータが格納される。ポリゴン全体に一つのテクスチャを繰り替えしなく配置する場合には、テクスチャ繰り返し数は、(1,1)となる。
昼用テクスチャおよび夜用テクスチャは、それぞれポリゴンに使用されるテクスチャの識別情報を格納する。
3次元モデル21には、地物の属性を表す属性データを含めても良い。例えば、建物について、名称、階数などを表すデータを属性データとすることができる。
図の上側には、3次元モデル21のデータ例を示した。3次元モデル21には、地物ID、種別、ポリゴンなどのデータが格納される。
地物IDは、地物の識別情報であり、右に示した建物の例では、地物IDとして「B01」が付されている。
種別は、地物の種類であり、右に示した例では「建物」となる。種別としては、この他、道路、鉄道、山、畑など種々の情報を用いることができる。また、樹木、雲などを種別に含めても良い。
ポリゴンには、図示するデータが格納される。
ポリゴンIDは、3次元モデルを構成する各ポリゴンの識別情報であり、右に示した例では、建物の正面のポリゴンにPOL1が付されている。
形状は、ポリゴンの形状を特定するデータであり、本実施例では頂点の座標値を記憶している。右に示した例では、ポリゴンの頂点PP1、PP2、PP3、PP4のそれぞれについて3次元の座標値が格納されることになる。座標値は、3次元地図全体の原点を基準とする絶対座標を用いても良いし、地物ごとに設定された基準点を原点とする相対座標を用いてもよい。後者の場合は、3次元モデル21に、基準点の絶対座標値を別途、格納することになる。
テクスチャ繰り返し数とは、ポリゴンに貼付されるテクスチャの配列を規定する情報である。右の図の例では、建物の表面を横2×縦3の区分に分け、ここに窓のテクスチャを繰り返し貼付する。従って、テクスチャ繰り返し数には、(2,3)というデータが格納される。ポリゴン全体に一つのテクスチャを繰り替えしなく配置する場合には、テクスチャ繰り返し数は、(1,1)となる。
昼用テクスチャおよび夜用テクスチャは、それぞれポリゴンに使用されるテクスチャの識別情報を格納する。
3次元モデル21には、地物の属性を表す属性データを含めても良い。例えば、建物について、名称、階数などを表すデータを属性データとすることができる。
図の下側には、テクスチャデータ22の例を示した。テクスチャデータ22には、昼用テクスチャ、夜用テクスチャが記憶されている。各テクスチャは、識別情報としてのテクスチャIDと、画像データで構成されている。
図の例では、昼用テクスチャについては、テクスチャIDとして「TEX1」が付され、窓の形状を表す画像が用意されている。先に説明した3次元モデル21では、昼用テクスチャとして、「TEX1」が指定されているから、図の右側に示した建物(B01)について昼景を表す際には、テクスチャデータ22のTEX1で表される画像が、横2×縦3で繰り返し配列されることになる。
図の例では、夜用テクスチャについては、テクスチャIDとして「TEX2」が付され、窓が消灯状態のOFF画像、窓が点灯状態のON画像の2種類の画像が用意されている。先に説明した3次元モデル21では、夜用テクスチャとして、「TEX2」が指定されているから、図の右側に示した建物(B01)について夜景を表す際には、テクスチャデータ22のTEX2で表されるON画像およびOFF画像が、選択されながら横2×縦3で繰り返し配列されることになる。
夜用テクスチャについては、OFF画像、ON画像に「TEX2OFF」「TEX2ON」のように個別のテクスチャIDを付してもよい。かかる場合には、両者を夜用テクスチャとして関連づける情報を、テクスチャデータ22に用意してもよいし、3次元モデル21の夜用テクスチャとして、「TEX2OFF」「TEX2ON」という2つのテクスチャIDを格納するようにしてもよい。
夜用テクスチャは、各3次元モデルに対してOFF画像、ON画像のように必ずしも複数種類の画像を用意しておく必要はなく、単一の画像を用意しておいてもよい。
図の例では、昼用テクスチャについては、テクスチャIDとして「TEX1」が付され、窓の形状を表す画像が用意されている。先に説明した3次元モデル21では、昼用テクスチャとして、「TEX1」が指定されているから、図の右側に示した建物(B01)について昼景を表す際には、テクスチャデータ22のTEX1で表される画像が、横2×縦3で繰り返し配列されることになる。
図の例では、夜用テクスチャについては、テクスチャIDとして「TEX2」が付され、窓が消灯状態のOFF画像、窓が点灯状態のON画像の2種類の画像が用意されている。先に説明した3次元モデル21では、夜用テクスチャとして、「TEX2」が指定されているから、図の右側に示した建物(B01)について夜景を表す際には、テクスチャデータ22のTEX2で表されるON画像およびOFF画像が、選択されながら横2×縦3で繰り返し配列されることになる。
夜用テクスチャについては、OFF画像、ON画像に「TEX2OFF」「TEX2ON」のように個別のテクスチャIDを付してもよい。かかる場合には、両者を夜用テクスチャとして関連づける情報を、テクスチャデータ22に用意してもよいし、3次元モデル21の夜用テクスチャとして、「TEX2OFF」「TEX2ON」という2つのテクスチャIDを格納するようにしてもよい。
夜用テクスチャは、各3次元モデルに対してOFF画像、ON画像のように必ずしも複数種類の画像を用意しておく必要はなく、単一の画像を用意しておいてもよい。
B.3次元地図表示処理:
次に、実施例の3次元地図表示システム10において、3次元地図を表示する際の処理内容について説明する。
図3は、3次元地図表示処理のフローチャートである。処理を開始すると、3次元地図表示システム10は、地図表示範囲を設定する(ステップS10)。地図の表示範囲は、例えば、ユーザからの指示によるものとしてもよい。また、3次元地図表示システムが経路案内システムに組み込まれている場合には、経路探索の結果や現在位置などに応じて設定してもよい。3次元地図表示システム10は、地図の表示範囲に応じて、地図表示に必要となる3次元モデルを地図データベース20から読み込み、仮想3次元空間内に配置する(ステップS12)。
次に、実施例の3次元地図表示システム10において、3次元地図を表示する際の処理内容について説明する。
図3は、3次元地図表示処理のフローチャートである。処理を開始すると、3次元地図表示システム10は、地図表示範囲を設定する(ステップS10)。地図の表示範囲は、例えば、ユーザからの指示によるものとしてもよい。また、3次元地図表示システムが経路案内システムに組み込まれている場合には、経路探索の結果や現在位置などに応じて設定してもよい。3次元地図表示システム10は、地図の表示範囲に応じて、地図表示に必要となる3次元モデルを地図データベース20から読み込み、仮想3次元空間内に配置する(ステップS12)。
次に、地図の表示モードに応じて、背景およびテクスチャの表示を行う。
昼景モードの場合(ステップS14)、3次元地図表示システム10は、昼用の背景、空や遠方の景色などを設定する(ステップS16)。そして、地物に対して昼用テクスチャを表示する(ステップS18)。テクスチャデータ22から、3次元モデル21で指定された昼用テクスチャを読み込み、各ポリゴンに貼付するのである。
夜景モードの場合(ステップS14)、暗い空など夜景用の背景を設定し(ステップS20)、地物に対して夜景テクスチャ生成処理を実行する(ステップS22)。この処理は、テクスチャデータ22から、3次元モデル21で指定された夜用テクスチャを読み込み、ポリゴンの部位に応じてON画像、OFF画像をランダムに選択して貼付する処理である。処理の内容は後述する。
3次元地図表示システム10は、以上の処理を、各地物に行うことで、3次元地図を表示する。
昼景モードの場合(ステップS14)、3次元地図表示システム10は、昼用の背景、空や遠方の景色などを設定する(ステップS16)。そして、地物に対して昼用テクスチャを表示する(ステップS18)。テクスチャデータ22から、3次元モデル21で指定された昼用テクスチャを読み込み、各ポリゴンに貼付するのである。
夜景モードの場合(ステップS14)、暗い空など夜景用の背景を設定し(ステップS20)、地物に対して夜景テクスチャ生成処理を実行する(ステップS22)。この処理は、テクスチャデータ22から、3次元モデル21で指定された夜用テクスチャを読み込み、ポリゴンの部位に応じてON画像、OFF画像をランダムに選択して貼付する処理である。処理の内容は後述する。
3次元地図表示システム10は、以上の処理を、各地物に行うことで、3次元地図を表示する。
C.夜景テクスチャ生成処理:
図4は、夜景テクスチャ生成処理のフローチャートである。3次元地図表示処理(図3)のステップS22に相当する処理である。
処理を開始すると、3次元地図表示システム10は、マトリックス記憶部17からマトリックスを読み込む(ステップS50)。マトリックスには、各ピクセルに対し、ON画像、OFF画像を選択するための制御値が記憶されている。本実施例では、選択の対象となる単位テクスチャが、ON画像、OFF画像の2種類であるため、マトリックスには、0、1の2値を記憶するものとした。
図4は、夜景テクスチャ生成処理のフローチャートである。3次元地図表示処理(図3)のステップS22に相当する処理である。
処理を開始すると、3次元地図表示システム10は、マトリックス記憶部17からマトリックスを読み込む(ステップS50)。マトリックスには、各ピクセルに対し、ON画像、OFF画像を選択するための制御値が記憶されている。本実施例では、選択の対象となる単位テクスチャが、ON画像、OFF画像の2種類であるため、マトリックスには、0、1の2値を記憶するものとした。
次に、3次元地図表示システム10は、処理の対象となる地物を対象モデルとして選択する(ステップS51)。対象モデルは、テクスチャの生成が未処理のものから選択すればよい。
対象モデルが建物ではない場合(ステップS52)、3次元地図表示システム10は、ON画像、OFF画像の使い分けは不要と判断し、3次元モデル21で指定された夜用テクスチャを貼付する(ステップS53)。夜用テクスチャは、ポリゴン全体に繰り返しなく貼付される場合もあれば、図2に示したように繰り返した配置で貼付される場合もある。
対象モデルが建物の場合(ステップS52)、3次元地図表示システム10は、3次元モデル21のテクスチャ繰り返し数に従って、繰り返し数を設定する(ステップS54)。図中に、横2×縦3の繰り返しをする場合の設定例を示した。本実施例では、テクスチャを貼付するための2次元の座標系(U,V)として、繰り返し数に応じた座標値を与えるものとした。図示するようにポリゴンの左下を原点(0,0)とし、右下を(2,0)、左上を(0,3)、右上を(2,3)というUV座標値を与えるのである。指定されたテクスチャ画像は、UV座標値で(0,0)-(1,1)の頂点で表される矩形領域に収まるように貼付され、UV座標値として1を超える値が設定されているときは、値に応じて繰り返し貼付される。従って、図中の各座標値が設定されれば、横2×縦3の配列を規定することができる。異なる配列においても同様にUV座標値で繰り返し数を規定することができる。
次に、3次元地図表示システム10は、マトリックスの使用領域を定める基準点を設定する(ステップS55)。基準点は、マトリックスの左下など任意に設定された固定の点としてもよいし、この処理を実行する度に、一定の規則または乱数によって選択するようにしてもよい。本実施例では、乱数を発生させ、基準点のx座標、y座標を設定するようにした。
基準点を設定すると、3次元地図表示システム10は、マトリックスの制御値に応じて単位テクスチャを選択し、貼付する(ステップS56)。本実施例では、マトリックスの各ピクセルには0、1の2値が格納されているため、値1の時はON画像、値0の時はOFF画像を選択するものとした。
ステップS55、S56におけるマトリックスを用いた単位テクスチャの選択については、具体例に基づいて後でより詳しく説明する。
対象モデルが建物ではない場合(ステップS52)、3次元地図表示システム10は、ON画像、OFF画像の使い分けは不要と判断し、3次元モデル21で指定された夜用テクスチャを貼付する(ステップS53)。夜用テクスチャは、ポリゴン全体に繰り返しなく貼付される場合もあれば、図2に示したように繰り返した配置で貼付される場合もある。
対象モデルが建物の場合(ステップS52)、3次元地図表示システム10は、3次元モデル21のテクスチャ繰り返し数に従って、繰り返し数を設定する(ステップS54)。図中に、横2×縦3の繰り返しをする場合の設定例を示した。本実施例では、テクスチャを貼付するための2次元の座標系(U,V)として、繰り返し数に応じた座標値を与えるものとした。図示するようにポリゴンの左下を原点(0,0)とし、右下を(2,0)、左上を(0,3)、右上を(2,3)というUV座標値を与えるのである。指定されたテクスチャ画像は、UV座標値で(0,0)-(1,1)の頂点で表される矩形領域に収まるように貼付され、UV座標値として1を超える値が設定されているときは、値に応じて繰り返し貼付される。従って、図中の各座標値が設定されれば、横2×縦3の配列を規定することができる。異なる配列においても同様にUV座標値で繰り返し数を規定することができる。
次に、3次元地図表示システム10は、マトリックスの使用領域を定める基準点を設定する(ステップS55)。基準点は、マトリックスの左下など任意に設定された固定の点としてもよいし、この処理を実行する度に、一定の規則または乱数によって選択するようにしてもよい。本実施例では、乱数を発生させ、基準点のx座標、y座標を設定するようにした。
基準点を設定すると、3次元地図表示システム10は、マトリックスの制御値に応じて単位テクスチャを選択し、貼付する(ステップS56)。本実施例では、マトリックスの各ピクセルには0、1の2値が格納されているため、値1の時はON画像、値0の時はOFF画像を選択するものとした。
ステップS55、S56におけるマトリックスを用いた単位テクスチャの選択については、具体例に基づいて後でより詳しく説明する。
3次元地図表示システム10は、以上の処理によって、対象モデルに対して、夜用のテクスチャを貼付する。この処理を、全ての対象モデルに対して終了するまで(ステップS57)、繰り返し実行する。
本実施例では、対象モデルが建物か否かによって処理を分けているが(ステップS52参照)、これは、建物についてのみ、ON画像、OFF画像という2種類の単位テクスチャの使い分けを行うものとしているからである。建物以外の地物に対しても、複数種類の単位テクスチャを選択して用いる場合には、かかる地物についても、建物と同様の処理(ステップS54~S56)を行うようにすればよい。
本実施例では、対象モデルが建物か否かによって処理を分けているが(ステップS52参照)、これは、建物についてのみ、ON画像、OFF画像という2種類の単位テクスチャの使い分けを行うものとしているからである。建物以外の地物に対しても、複数種類の単位テクスチャを選択して用いる場合には、かかる地物についても、建物と同様の処理(ステップS54~S56)を行うようにすればよい。
図5は、単位テクスチャの選択方法を示す説明図である。図の上側には、マトリックスの例を示した。本実施例では、256×256ピクセルのサイズとしているが、マトリックスのサイズは任意に設定可能である。マトリックスの各ピクセルには、0,1の2値が格納されている。図の例では、値0が格納されているピクセルを黒、1が格納されているピクセルを白で表した。図の例では、値0、1は、概ね同数となっており、偏り無く分布するよう設定されているが、値0、1の割合や分布も任意に設定可能である。かかるマトリックスは、オペレータが各ピクセルの値を指定する方法、関数や乱数によって各ピクセルの値を決定する方法などを用いることができる。
図中には、夜景テクスチャ生成処理(図4)のステップS55で設定される基準点を併せて示した。マトリックスの左下を原点Oとし、横方向にMx、縦方向にMyの位置にあるピクセルが基準点である。基準点(Mx、My)の座標は、乱数、関数などによって定めることができる。
図中には、夜景テクスチャ生成処理(図4)のステップS55で設定される基準点を併せて示した。マトリックスの左下を原点Oとし、横方向にMx、縦方向にMyの位置にあるピクセルが基準点である。基準点(Mx、My)の座標は、乱数、関数などによって定めることができる。
図の中段には、マトリックスの一部の拡大図である。基準点(Mx,My)を左下とする矩形領域を示した。図中の各マスはマトリックスのピクセルを表しており、そこに0または1の制御値が格納されている。
夜景テクスチャ生成処理(図4)のステップS56では、3次元地図表示システム10は、マトリックスの基準点(Mx,My)を原点として、単位テクスチャの繰り返し数に対応する領域Aの各ピクセルをポリゴンの各部位と対応づける。図4に示したように、横2×縦3の繰り返し数で単位テクスチャを配置する場合には、各部位に、マトリックスの横2×縦3ピクセルからなる領域Aを対応づけることになる。
図の下段には、ON画像、OFF画像の選択結果を示した。領域Aの左下のピクセルには、制御値として0が格納されているから、OFF画像が選択される(図4のステップS56参照)。右下のピクセルも同様である。中段については、左側の制御値が1、右側の制御値が0となっているから、左側にはON画像、右側にはOFF画像が選択される。上段については、左側の制御値が0、右側の制御値が1となっているから、左側にOFF画像、右側にON画像が選択される。このようにピクセルの制御値に応じて、ON画像、OFF画像を選択し、ポリゴンの対応する部位に貼付することによって、図の下段に示すような建物全体のテクスチャを生成することができる。
マトリックス内の制御値の分布は、領域によって異なるから、基準点が異なれば、単位テクスチャの選択に用いる領域が変化し、得られる結果も異なることになる。また、常に固定された基準点を用いる場合でも、繰り返し数が異なれば、選択に適用する領域の大きさが変化するため、得られる結果に対する印象は異なったものとなる。
夜景テクスチャ生成処理(図4)のステップS56では、3次元地図表示システム10は、マトリックスの基準点(Mx,My)を原点として、単位テクスチャの繰り返し数に対応する領域Aの各ピクセルをポリゴンの各部位と対応づける。図4に示したように、横2×縦3の繰り返し数で単位テクスチャを配置する場合には、各部位に、マトリックスの横2×縦3ピクセルからなる領域Aを対応づけることになる。
図の下段には、ON画像、OFF画像の選択結果を示した。領域Aの左下のピクセルには、制御値として0が格納されているから、OFF画像が選択される(図4のステップS56参照)。右下のピクセルも同様である。中段については、左側の制御値が1、右側の制御値が0となっているから、左側にはON画像、右側にはOFF画像が選択される。上段については、左側の制御値が0、右側の制御値が1となっているから、左側にOFF画像、右側にON画像が選択される。このようにピクセルの制御値に応じて、ON画像、OFF画像を選択し、ポリゴンの対応する部位に貼付することによって、図の下段に示すような建物全体のテクスチャを生成することができる。
マトリックス内の制御値の分布は、領域によって異なるから、基準点が異なれば、単位テクスチャの選択に用いる領域が変化し、得られる結果も異なることになる。また、常に固定された基準点を用いる場合でも、繰り返し数が異なれば、選択に適用する領域の大きさが変化するため、得られる結果に対する印象は異なったものとなる。
図5で説明した処理は、GPUを利用する際に特に有用性が高い。一般にGPUは、比較的単純な処理を高速で行うことができるように設計されており、条件分岐については処理速度が比較的遅くなる特性を有している。図5の処理では、マトリックスの各ピクセルの制御値を取得し、その結果に応じて、ON画像、OFF画像を一義的に定めることができるため、高速化を図ることができるのである。例えば、得られた0または1の制御値を、そのままON画像、OFF画像を指定するための引数として用いれば、条件分岐を介さずに両者の使い分けが可能となる。
図5の例では、基準点周りに設定された領域Aに対して、ポリゴンの各部位を対応づけるようにしたが、両者の対応づけは関数に基づいて行っても良い。ポリゴンの各部位に対し、マトリックスのいずれかのピクセルを割り当てることができる方法であれば、必ずしも、ポリゴンと同一形状の領域を割り当てる必要はないのである。
D.地図表示例:
図6は、3次元地図の表示例(1)を示す説明図である。従来技術として、図11に示したのと同じ条件で夜景の3次元地図を表示した例を示した。図11では、パターンA、パターンBなど、点灯/消灯状態が規則的に配置された部位を視認することができるのに対し、図6の表示例(1)では、こうした規則性は見いだすことができない。このように、本実施例によれば、夜景における建物の点灯/消灯状態として、より自然な状態を表示することが可能となる。
図6は、3次元地図の表示例(1)を示す説明図である。従来技術として、図11に示したのと同じ条件で夜景の3次元地図を表示した例を示した。図11では、パターンA、パターンBなど、点灯/消灯状態が規則的に配置された部位を視認することができるのに対し、図6の表示例(1)では、こうした規則性は見いだすことができない。このように、本実施例によれば、夜景における建物の点灯/消灯状態として、より自然な状態を表示することが可能となる。
図7は、3次元地図の表示例(2)を示す説明図である。図6の表示例よりも、より上方の視点から俯瞰した例を示した。視点位置を高くすることにより、一層多くの建物の窓が視認可能となるが、かかる状態でも、建物の窓について、違和感のない点灯/消灯状態を表示できている。
E.効果および変形例:
以上で説明した実施例によれば、マトリックスを利用することにより、処理負荷を抑制しつつ、ON画像、OFF画像を使い分けて、違和感のない夜景表示を実現することができる。
実施例では、2つの窓を単位テクスチャとして用いたが、単位テクスチャの形状等は任意に設定可能である。一つの窓を単位テクスチャとしてもよいし、更に多くの窓を単位テクスチャとしてもよい。ただし、図11に示したパターンA、パターンBのように2次元的に多くの窓が配置されたグループを単位テクスチャとすると、単位テクスチャごとのパターンを視認しやすくなる。従って、単位テクスチャは可能な限り最小の要素単位、即ち建物の例では一つの窓、に近づけることが好ましく、複数の窓を含む場合でも、一次元に配置されたものとすることが好ましい。
以上で説明した実施例によれば、マトリックスを利用することにより、処理負荷を抑制しつつ、ON画像、OFF画像を使い分けて、違和感のない夜景表示を実現することができる。
実施例では、2つの窓を単位テクスチャとして用いたが、単位テクスチャの形状等は任意に設定可能である。一つの窓を単位テクスチャとしてもよいし、更に多くの窓を単位テクスチャとしてもよい。ただし、図11に示したパターンA、パターンBのように2次元的に多くの窓が配置されたグループを単位テクスチャとすると、単位テクスチャごとのパターンを視認しやすくなる。従って、単位テクスチャは可能な限り最小の要素単位、即ち建物の例では一つの窓、に近づけることが好ましく、複数の窓を含む場合でも、一次元に配置されたものとすることが好ましい。
本実施例は、3次元モデルに対して、複数の単位テクスチャを選択して配置するための技術であり、建物の夜景表現に限った技術ではない。種々の地物に対して、本実施例を適用することにより、処理負荷を抑制しつつ、多様な地物の表示が可能となり、3次元地図のリアリティをさらに向上させることができる。例えば、樹木に対して、枝や葉の状態が異なる複数の単位テクスチャを選択して適用するようにすれば、多様な樹木を表現可能となる。雲に対して、白、グレーなど多様な色の単位テクスチャを選択して適用するようにすれば、種々の形状、色の雲を表現可能となる。実施例では、単位テクスチャ同士が重ならずに配置される例を示したが、本技術を適用する地物によっては、単位テクスチャ同士を重ねるように貼付してもよい。
本実施例に対しては、処理についてもさらに種々の変形例を考えることができる。以下に説明する。
(1)単位テクスチャの選択方法についての変形例(1):
図8は、変形例(1)における単位テクスチャの選択方法を示す説明図である。実施例では、ON画像、OFF画像の2種類の単位テクスチャを用いたが、変形例(1)では、右下に示す3種類の単位テクスチャを用いる。0画像は、2つの窓が消灯の単位テクスチャである。1画像は、左側が消灯、右側が点灯の単位テクスチャである。2画像は、2つの窓が点灯の単位テクスチャである。
マトリックスには、上段に示した通り、0、1、2の3値を格納する。こうすることによって、実施例と同様、マトリックスの各ピクセルに応じて、3種類の単位テクスチャを使い分けて配置することができる。即ち、0の制御値が格納されたピクセルには0画像、1の制御値が格納されたピクセルには1画像、2の制御値が格納されたピクセルには2画像を配置すればよい。この結果、左下に示すように、実施例よりも多様な点灯状態を表現することが可能となる。
単位テクスチャを、4通り以上用意する場合も、変形例(1)と同様にして処理することができる。
図8は、変形例(1)における単位テクスチャの選択方法を示す説明図である。実施例では、ON画像、OFF画像の2種類の単位テクスチャを用いたが、変形例(1)では、右下に示す3種類の単位テクスチャを用いる。0画像は、2つの窓が消灯の単位テクスチャである。1画像は、左側が消灯、右側が点灯の単位テクスチャである。2画像は、2つの窓が点灯の単位テクスチャである。
マトリックスには、上段に示した通り、0、1、2の3値を格納する。こうすることによって、実施例と同様、マトリックスの各ピクセルに応じて、3種類の単位テクスチャを使い分けて配置することができる。即ち、0の制御値が格納されたピクセルには0画像、1の制御値が格納されたピクセルには1画像、2の制御値が格納されたピクセルには2画像を配置すればよい。この結果、左下に示すように、実施例よりも多様な点灯状態を表現することが可能となる。
単位テクスチャを、4通り以上用意する場合も、変形例(1)と同様にして処理することができる。
(2)単位テクスチャの選択方法についての変形例(2):
図9は、変形例(2)における単位テクスチャの選択方法を示す説明図である。この例では、ON画像、OFF画像の2種類の単位テクスチャを用いる。ただし、マトリックスには、0、1という2値の制御値ではなく、0~255の範囲の制御値、即ち単位テクスチャの種類数よりも広い数値範囲の制御値が格納されている。制御値の範囲は任意に設定可能である。
変形例(2)では、各ピクセルに格納された制御値と、閾値THとの大小関係に基づいて、ON画像、OFF画像の選択を行う。つまり、制御値≦THのときはOFF画像を用い、制御値>THのときはON画像を用いるのである。
下段に、閾値TH=50の場合、150の場合について結果を示した。
閾値TH=50の場合、左下のピクセルP00の制御値は0であり、制御値≦THとなるからOFF画像が選択される。右下のピクセルP10の制御値は96であり、制御値>THとなるからON画像が選択される。同様にして、ピクセルP01はOFF画像、ピクセルP11、P02、P12はON画像が選択されることになる。この結果、閾値TH=50の場合は、左下に示すように点灯状態の窓が多いテクスチャが得られる。
次に、閾値TH=150の場合は、同様に単位テクスチャを選択すると、ピクセルP00、P10、P01、P12にOFF画像、ピクセルP11、P02にON画像が選択されることになる。この結果、閾値TH=100の場合は、右下に示すように消灯状態の窓が多いテクスチャが得られる。
このように変形例(2)によれば、同じ建物であっても、閾値THを変化させることによって、得られるテクスチャを変化させることができる。閾値THはユーザが指定してもよいし、3次元地図を表示する時刻などの条件に応じて変化させてもよい。例えば、夕刻過ぎなどの時刻には、閾値TH=50を利用し、深夜には閾値TH=150を用いるようにすれば、時間帯に応じた夜景を表現することが可能となる。
変形例(2)においても、3種類以上の単位テクスチャを用いることが可能である。例えば、変形例(1)(図8)のように3種類の単位テクスチャ(0画像、1画像、2画像)を用いる場合には、2つの閾値TH1、TH2(TH1<TH2)を用いればよい。制御値≦TH1の場合は0画像、TH1<制御値≦TH2の場合は1画像、TH2<制御値の場合は2画像というように使い分けることができる。この場合、閾値TH1、TH2の少なくとも一方の値を変化させることで、3種類の単位テクスチャの割合を変化させることが可能となる。
図9は、変形例(2)における単位テクスチャの選択方法を示す説明図である。この例では、ON画像、OFF画像の2種類の単位テクスチャを用いる。ただし、マトリックスには、0、1という2値の制御値ではなく、0~255の範囲の制御値、即ち単位テクスチャの種類数よりも広い数値範囲の制御値が格納されている。制御値の範囲は任意に設定可能である。
変形例(2)では、各ピクセルに格納された制御値と、閾値THとの大小関係に基づいて、ON画像、OFF画像の選択を行う。つまり、制御値≦THのときはOFF画像を用い、制御値>THのときはON画像を用いるのである。
下段に、閾値TH=50の場合、150の場合について結果を示した。
閾値TH=50の場合、左下のピクセルP00の制御値は0であり、制御値≦THとなるからOFF画像が選択される。右下のピクセルP10の制御値は96であり、制御値>THとなるからON画像が選択される。同様にして、ピクセルP01はOFF画像、ピクセルP11、P02、P12はON画像が選択されることになる。この結果、閾値TH=50の場合は、左下に示すように点灯状態の窓が多いテクスチャが得られる。
次に、閾値TH=150の場合は、同様に単位テクスチャを選択すると、ピクセルP00、P10、P01、P12にOFF画像、ピクセルP11、P02にON画像が選択されることになる。この結果、閾値TH=100の場合は、右下に示すように消灯状態の窓が多いテクスチャが得られる。
このように変形例(2)によれば、同じ建物であっても、閾値THを変化させることによって、得られるテクスチャを変化させることができる。閾値THはユーザが指定してもよいし、3次元地図を表示する時刻などの条件に応じて変化させてもよい。例えば、夕刻過ぎなどの時刻には、閾値TH=50を利用し、深夜には閾値TH=150を用いるようにすれば、時間帯に応じた夜景を表現することが可能となる。
変形例(2)においても、3種類以上の単位テクスチャを用いることが可能である。例えば、変形例(1)(図8)のように3種類の単位テクスチャ(0画像、1画像、2画像)を用いる場合には、2つの閾値TH1、TH2(TH1<TH2)を用いればよい。制御値≦TH1の場合は0画像、TH1<制御値≦TH2の場合は1画像、TH2<制御値の場合は2画像というように使い分けることができる。この場合、閾値TH1、TH2の少なくとも一方の値を変化させることで、3種類の単位テクスチャの割合を変化させることが可能となる。
(3)単位テクスチャの配置方法についての変形例:
図10は、変形例としての単位テクスチャの配置方法を示す説明図である。この例では、単位テクスチャを個別の画像データとして用意するのではなく、一つに配列した統合テクスチャとして用意する。中段に、統合テクスチャの例を示した。この例では、一つの画像の上段に昼用画像、下段の左側に夜用のOFF画像、下段の右側に夜用のON画像が配置されている。3つの単位テクスチャは、隙間無く配置されているが、隙間を設けてもよい。統合テクスチャの画像の位置は、統合テクスチャに定義された座標系(tu、tv)で表される。
図の上側には昼景を表示する際のテクスチャの利用方法を示した。建物のテクスチャには、UV座標系が定義されている。建物には昼用画像を貼付することになるから、配置の単位となる左下の点P3に昼用画像の点tp3を対応させ、右上の点P6に昼用画像の点tp6を対応させるように座標変換をする。点P3がUV座標系で(0,0)、点P6が(1,1)ならば、点tp3の座標が(0,0)、点tp6の座標が(1,1)となるよう、(tu、tv)の座標系を平行移動および拡大/縮小すればよい。
図の下側には夜景を表示する際のテクスチャの利用方法を示した。建物にはOFF用画像およびON画像を選択して貼付することになるから、配置の単位となる領域ごとにOFF画像、ON画像の頂点が対応するように座標変換をする。図示するように、ポリゴンの最上段の左側にOFF画像、右側にON画像を貼付する場合を考える。左側には、点P1、P4にそれぞれOFF画像の点tp1、tp4が対応するように座標変換すればよい。このとき、貼付されるポリゴンの点P1、P4もそれぞれUV座標系において(0,0)、(1,1)となるよう座標変換する必要がある。UV座標が1を超えるときは、(0,0)、(1,1)の範囲に対応するテクスチャが繰り返し適用されてしまうからである。同様に、右側には、点P2、P5をUV座標系で(0,0)、(1,1)となるよう座標変換した上で、これらの2点にON画像の点tp2、tp5が対応するように座標変換すればよい。
このように貼付すべき単位テクスチャの選択結果に応じて、統合テクスチャの中で使用する部位をずらすことによって、実施例と同様の画像を得ることができる。単位テクスチャを個別の画像として格納している場合には、選択結果に応じて、その都度、単位テクスチャを読み込む必要があるのに対し、変形例の方法によれば、統合テクスチャを一旦、読み込めば、テクスチャを生成する処理中は新たなテクスチャの読み込みを行う必要がないため、より一層、処理の高速化を図ることができる。
この変形例においても、夜用に3種類以上の単位テクスチャを用いることが可能である。
図10は、変形例としての単位テクスチャの配置方法を示す説明図である。この例では、単位テクスチャを個別の画像データとして用意するのではなく、一つに配列した統合テクスチャとして用意する。中段に、統合テクスチャの例を示した。この例では、一つの画像の上段に昼用画像、下段の左側に夜用のOFF画像、下段の右側に夜用のON画像が配置されている。3つの単位テクスチャは、隙間無く配置されているが、隙間を設けてもよい。統合テクスチャの画像の位置は、統合テクスチャに定義された座標系(tu、tv)で表される。
図の上側には昼景を表示する際のテクスチャの利用方法を示した。建物のテクスチャには、UV座標系が定義されている。建物には昼用画像を貼付することになるから、配置の単位となる左下の点P3に昼用画像の点tp3を対応させ、右上の点P6に昼用画像の点tp6を対応させるように座標変換をする。点P3がUV座標系で(0,0)、点P6が(1,1)ならば、点tp3の座標が(0,0)、点tp6の座標が(1,1)となるよう、(tu、tv)の座標系を平行移動および拡大/縮小すればよい。
図の下側には夜景を表示する際のテクスチャの利用方法を示した。建物にはOFF用画像およびON画像を選択して貼付することになるから、配置の単位となる領域ごとにOFF画像、ON画像の頂点が対応するように座標変換をする。図示するように、ポリゴンの最上段の左側にOFF画像、右側にON画像を貼付する場合を考える。左側には、点P1、P4にそれぞれOFF画像の点tp1、tp4が対応するように座標変換すればよい。このとき、貼付されるポリゴンの点P1、P4もそれぞれUV座標系において(0,0)、(1,1)となるよう座標変換する必要がある。UV座標が1を超えるときは、(0,0)、(1,1)の範囲に対応するテクスチャが繰り返し適用されてしまうからである。同様に、右側には、点P2、P5をUV座標系で(0,0)、(1,1)となるよう座標変換した上で、これらの2点にON画像の点tp2、tp5が対応するように座標変換すればよい。
このように貼付すべき単位テクスチャの選択結果に応じて、統合テクスチャの中で使用する部位をずらすことによって、実施例と同様の画像を得ることができる。単位テクスチャを個別の画像として格納している場合には、選択結果に応じて、その都度、単位テクスチャを読み込む必要があるのに対し、変形例の方法によれば、統合テクスチャを一旦、読み込めば、テクスチャを生成する処理中は新たなテクスチャの読み込みを行う必要がないため、より一層、処理の高速化を図ることができる。
この変形例においても、夜用に3種類以上の単位テクスチャを用いることが可能である。
以上、本実施例の種々の変形例を示してきた。本発明については、ここに記載した実施例および変形例に限らず、さらに種々の変形例を構成することが可能である。
本発明は、地物の外観を表すテクスチャを生成するために利用することができる。
10…3次元地図表示システム
11…コマンド入力部
12…地図表示制御部
13…3次元ポリゴン生成部
14…テクスチャ生成部
15…昼景テクスチャ生成部
16…夜景テクスチャ生成部
17…マトリックス記憶部
20…地図データベース
21…3次元モデル
22…テクスチャデータ
23…昼用テクスチャ
24…夜景テクスチャ
11…コマンド入力部
12…地図表示制御部
13…3次元ポリゴン生成部
14…テクスチャ生成部
15…昼景テクスチャ生成部
16…夜景テクスチャ生成部
17…マトリックス記憶部
20…地図データベース
21…3次元モデル
22…テクスチャデータ
23…昼用テクスチャ
24…夜景テクスチャ
Claims (8)
- 3次元地図において地物の外観を表すテクスチャを生成するテクスチャ生成システムであって、
前記地物の3次元形状を表す3次元モデルと、該地物に選択的に適用可能な複数種類の単位テクスチャとを記憶する地図データベースと、
前記単位テクスチャの選択を制御する制御値をピクセルごとに記憶した所定サイズのマトリックスを記憶するマトリックス記憶部と、
複数の前記単位テクスチャを配列して貼付することにより前記3次元モデルを構成するポリゴンのテクスチャを生成するテクスチャ生成部とを備え、
該テクスチャ生成部は、
前記ポリゴンにおける前記配列の各位置と、前記マトリックスのピクセルとを対応づけ、
前記各位置に対応する前記マトリックスの制御値に基づいて、複数種類の前記単位テクスチャのいずれかを選択し、
前記各位置に、それぞれ選択された単位テクスチャを配列して貼付するテクスチャ生成システム。 - 請求項1記載のテクスチャ生成システムであって、
前記マトリックスは、前記単位テクスチャの各種類と1対1に対応する制御値を記憶しているテクスチャ生成システム。 - 請求項1記載のテクスチャ生成システムであって、
前記マトリックスは、前記単位テクスチャの種類数よりも広い数値範囲の制御値を記憶しており、
前記テクスチャ生成部は、前記制御値と所定の閾値との比較により、前記制御値を前記単位テクスチャの種類数に量子化して前記選択を行うテクスチャ生成システム。 - 請求項3記載のテクスチャ生成システムであって、
前記テクスチャ生成部は、所定の条件に応じて前記閾値を変化させて、前記選択を行うテクスチャ生成システム。 - 請求項1~4いずれか記載のテクスチャ生成システムであって、
前記テクスチャ生成部は、前記テクスチャの生成ごとに、前記配列の各位置と前記マトリックスのピクセルとの対応づけを変化させるテクスチャ生成システム。 - 請求項1~5いずれか記載のテクスチャ生成システムであって、
前記単位テクスチャは、複数種類の前記単位テクスチャを相互に重ならないように配置した単一の統合テクスチャとして記憶されており、
前記テクスチャ生成部は、前記選択に応じて、前記統合テクスチャのうち選択された単位テクスチャに対応する部分を貼付するテクスチャ生成システム。 - 3次元地図において地物の外観を表すテクスチャを生成するテクスチャ生成方法であって、
コンピュータが実行するステップとして、
前記地物の3次元形状を表す3次元モデルと、該地物に選択的に適用可能な複数種類の単位テクスチャとを記憶する地図データベースを参照するステップと、
前記単位テクスチャの選択を制御する制御値をピクセルごとに記憶した所定サイズのマトリックスを参照するステップと、
複数の前記単位テクスチャを配列して貼付することにより前記3次元モデルを構成するポリゴンのテクスチャを生成するテクスチャ生成ステップとを備え、
該テクスチャ生成ステップは、
前記ポリゴンにおける前記配列の各位置と、前記マトリックスのピクセルとを対応づけるステップと、
前記各位置に対応する前記マトリックスの制御値に基づいて、複数種類の前記単位テクスチャのいずれかを選択するステップと、
前記各位置に、それぞれ選択された単位テクスチャを配列して貼付するステップとを備えるテクスチャ生成方法。 - コンピュータに、3次元地図において地物の外観を表すテクスチャを生成させるためのコンピュータプログラムであって、
前記地物の3次元形状を表す3次元モデルと、該地物に選択的に適用可能な複数種類の単位テクスチャとを記憶する地図データベースを参照する機能と、
前記単位テクスチャの選択を制御する制御値をピクセルごとに記憶した所定サイズのマトリックスを参照する機能と、
複数の前記単位テクスチャを配列して貼付することにより前記3次元モデルを構成するポリゴンのテクスチャを生成するテクスチャ生成機能とをコンピュータ実現させ、
該テクスチャ生成機能として、
前記ポリゴンにおける前記配列の各位置と、前記マトリックスのピクセルとを対応づける機能と、
前記各位置に対応する前記マトリックスの制御値に基づいて、複数種類の前記単位テクスチャのいずれかを選択する機能と、
前記各位置に、それぞれ選択された単位テクスチャを配列して貼付する機能とをコンピュータに実現させるコンピュータプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201580069053.1A CN107004295A (zh) | 2014-12-17 | 2015-12-11 | 纹理生成系统 |
KR1020177017154A KR20170098234A (ko) | 2014-12-17 | 2015-12-11 | 텍스처 생성 시스템 |
EP15869895.1A EP3236421A4 (en) | 2014-12-17 | 2015-12-11 | Texture generation system |
US15/623,192 US20170287201A1 (en) | 2014-12-17 | 2017-06-14 | Texture generation system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014-254808 | 2014-12-17 | ||
JP2014254808A JP6305912B2 (ja) | 2014-12-17 | 2014-12-17 | テクスチャ生成システム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/623,192 Continuation US20170287201A1 (en) | 2014-12-17 | 2017-06-14 | Texture generation system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016098690A1 true WO2016098690A1 (ja) | 2016-06-23 |
Family
ID=56126580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/084756 WO2016098690A1 (ja) | 2014-12-17 | 2015-12-11 | テクスチャ生成システム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20170287201A1 (ja) |
EP (1) | EP3236421A4 (ja) |
JP (1) | JP6305912B2 (ja) |
KR (1) | KR20170098234A (ja) |
CN (1) | CN107004295A (ja) |
WO (1) | WO2016098690A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10955256B2 (en) * | 2018-10-26 | 2021-03-23 | Here Global B.V. | Mapping system and method for applying texture to visual representations of buildings |
CN111968196B (zh) * | 2020-08-28 | 2024-05-10 | 北京睿呈时代信息科技有限公司 | 存储器、夜景灯光纹理绘制方法、系统和设备 |
KR102520660B1 (ko) * | 2022-04-28 | 2023-04-11 | (주)이브이알스튜디오 | 건물에 해당하는 가상 객체를 슬롯 단위로 디자인하기 위한 툴을 지원하는 전자 장치의 제어 방법 |
KR102483778B1 (ko) * | 2022-04-28 | 2023-01-03 | (주)이브이알스튜디오 | 건물에 해당하는 가상 객체의 지붕 부분을 디자인하는 전자 장치의 제어 방법 |
KR102529176B1 (ko) * | 2022-05-02 | 2023-05-04 | (주)이브이알스튜디오 | 건물에 해당하는 가상 객체의 디테일 베리에이션을 수행하는 전자 장치의 제어 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07105401A (ja) * | 1993-10-01 | 1995-04-21 | Fujitsu Ltd | テクスチャマッピング方法 |
US20090273601A1 (en) * | 2008-04-30 | 2009-11-05 | Core Logic, Inc. | Image Presentation Method and Apparatus for 3D Navigation and Mobile Device Including the Apparatus |
JP2012048529A (ja) * | 2010-08-27 | 2012-03-08 | Mitsubishi Precision Co Ltd | 地物の外観表示用画像の生成方法及びその装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6191793B1 (en) * | 1998-04-01 | 2001-02-20 | Real 3D, Inc. | Method and apparatus for texture level of detail dithering |
US6750862B1 (en) * | 1998-04-27 | 2004-06-15 | Nvidia Corporation | Method and system for performing enhanced lighting functions for texture map data |
US6952207B1 (en) * | 2002-03-11 | 2005-10-04 | Microsoft Corporation | Efficient scenery object rendering |
US7643669B2 (en) * | 2002-07-10 | 2010-01-05 | Harman Becker Automotive Systems Gmbh | System for generating three-dimensional electronic models of objects |
DE602005003575T2 (de) * | 2004-06-16 | 2008-10-23 | Nxp B.V. | Vorwärts-texturabbildungs-3d-graphiksystem |
KR100888155B1 (ko) * | 2008-05-14 | 2009-03-10 | 팅크웨어(주) | 텍스처 맵핑을 이용하여 3차원 지도를 표시하는 시스템 및방법 |
US20120194547A1 (en) * | 2011-01-31 | 2012-08-02 | Nokia Corporation | Method and apparatus for generating a perspective display |
US9792724B2 (en) * | 2013-03-14 | 2017-10-17 | Robert Bosch Gmbh | System and method for generation of shadow effects in three-dimensional graphics |
-
2014
- 2014-12-17 JP JP2014254808A patent/JP6305912B2/ja active Active
-
2015
- 2015-12-11 WO PCT/JP2015/084756 patent/WO2016098690A1/ja active Application Filing
- 2015-12-11 CN CN201580069053.1A patent/CN107004295A/zh active Pending
- 2015-12-11 KR KR1020177017154A patent/KR20170098234A/ko not_active Application Discontinuation
- 2015-12-11 EP EP15869895.1A patent/EP3236421A4/en not_active Withdrawn
-
2017
- 2017-06-14 US US15/623,192 patent/US20170287201A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07105401A (ja) * | 1993-10-01 | 1995-04-21 | Fujitsu Ltd | テクスチャマッピング方法 |
US20090273601A1 (en) * | 2008-04-30 | 2009-11-05 | Core Logic, Inc. | Image Presentation Method and Apparatus for 3D Navigation and Mobile Device Including the Apparatus |
JP2012048529A (ja) * | 2010-08-27 | 2012-03-08 | Mitsubishi Precision Co Ltd | 地物の外観表示用画像の生成方法及びその装置 |
Non-Patent Citations (3)
Title |
---|
KAIZOKUYA, LOW PORI MODELING, 25 December 2008 (2008-12-25), pages 262 - 267, XP009503872, ISBN: 978-4-7980-2149-2 * |
MASAHIRO SEKINE: "Efficient High-dimensional Texture Mapping Using Graphics Hardware", IPSJ SIG NOTES, vol. 2005, no. 85, 19 August 2005 (2005-08-19), pages 13 - 18, XP009503850, ISSN: 0919-6072 * |
See also references of EP3236421A4 * |
Also Published As
Publication number | Publication date |
---|---|
EP3236421A1 (en) | 2017-10-25 |
JP6305912B2 (ja) | 2018-04-04 |
US20170287201A1 (en) | 2017-10-05 |
CN107004295A (zh) | 2017-08-01 |
EP3236421A4 (en) | 2018-06-20 |
JP2016115228A (ja) | 2016-06-23 |
KR20170098234A (ko) | 2017-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016098690A1 (ja) | テクスチャ生成システム | |
JP6678209B2 (ja) | 非正規直交グリッドへのテクスチャマッピングのためのグラデーションの調整 | |
CN106296786B (zh) | 游戏场景可见区域的确定方法及装置 | |
CN107358649B (zh) | 地形文件的处理方法和装置 | |
CN101065784B (zh) | 计算机图形处理 | |
CN101881830B (zh) | 重建雷达扫描数据生成三维可视地形的方法 | |
JP2004271901A (ja) | 地図表示装置 | |
US9093006B2 (en) | Image shader using style attribute references | |
CN102411791B (zh) | 一种静止图像动态化的方法和设备 | |
US20230260443A1 (en) | Two-dimensional compositing | |
CN109584366B (zh) | 一种地形渲染方法、装置、设备及可读存储介质 | |
US20200160584A1 (en) | Gradient adjustment for texture mapping to non-orthonormal grid | |
CN109643462A (zh) | 基于渲染引擎的实时图像处理方法以及显示设备 | |
WO2015122302A1 (ja) | 3次元地図表示システム | |
CN112200899A (zh) | 一种采用实例化渲染实现模型业务交互的方法 | |
US9092907B2 (en) | Image shader using two-tiered lookup table for implementing style attribute references | |
US20170358057A1 (en) | Systems for automatically assembling tile maps and associated techniques | |
KR102550327B1 (ko) | 영상 업스케일링 방법 및 장치 | |
US20100020096A1 (en) | Antialiasing apparatus | |
CN113936084B (zh) | 一种虚拟天空中目标元素的生成方法及相关设备 | |
CN105704473A (zh) | 一种利用模板快速对多视角立体显示屏图像生成办法 | |
CN107146269B (zh) | 一种图像填充方法及系统 | |
KR100927131B1 (ko) | 안티 알리어싱 방법 및 장치 | |
CN117298571A (zh) | 星球数据构建方法及装置 | |
CN118210417A (zh) | 虚拟电子屏幕的生成方法和装置、存储介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15869895 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 20177017154 Country of ref document: KR Kind code of ref document: A |
|
REEP | Request for entry into the european phase |
Ref document number: 2015869895 Country of ref document: EP |