OSM-4D/Generic textures

From OpenStreetMap Wiki
Jump to navigation Jump to search

This page contains description of the concept of possible generic textures for 3D city models from the page: OSM-4D. For foto textures library see [1]

Description

The real time rendering of big 3D city models with terrain model is difficult. There are use cases for which a photo texture is not necessary. For easy rendering of big areas, small textures are conceptualized with 64x64 Pixel. These textures have free RGB background and one of more faces ("doors" and "windows" representation) with other RGB value.

The textures should be used only for building facades in a lower "level of detail" LOD 1 and 2 for 3D city models.


The low resolution texture should facilitate the real-time rendering of 3D city models.

Of course, this method of representation can not show the architectural details, but it is suitable for widespread texturing of generalized city models for online - rendering.

64x64 Raster:construction grid for a texture


This method of texturing is not designed for photorealistic representation! 


Textures of this type should only show number of floors of the buildings and provide a rough orientation and recognition of the spatial situation.


MarekExampleGenericTexturingBuilding.png

MarekCity3DExampleLowTexturing1.jpg


Pros:

  • Easily true-time rendering of 3D cities.
  • Standardization of generic textures for 3D City Models
  • Uniform naming system of the generic texture library: The entire texture library is small
  • It allows faster texturing of large areas

Phototexturing vs. low resolution texturing

High resolution, unique textures or repeatable textures (Fototextur) look a lot better. Of course, these textures should gradually be used in all 3D buildings. But you must know about the difficulties of the high resolution texturing:

  • High labor costs. For the generation of unique textures, each building must be photographed from each side. You get the best texture when you shoot a frontal photograph of each facade. These photos will then be processed (equalizing,matching).
  • Expertise required. The color and lighting of photos need to be adapted to a common level. Cars, trees, humans, street lights and other interfering elements need to be removed from the pictures. This might not be feasible in every single case, e.g. if trees cover almost the entire facade. The texture needs to wrap over the edges "seamlessly" . The texture resolution need to be adapted to a common level.
  • Naming. With a high number of users and contributed photo textures, it will quickly result in a big number of large textures. Either, a solution can be found to compare and sort textures with each other, or else it is foreseen that there will be many identical textures with different name. Equal names for distinct textures also may lead to problems. It is adviced to give a specific searchable and understandable name to any contributed texture.
  • Error prone technique. Bad scaling of textures, bad placement respectively, even happens to professionals sometimes.
  • Real-time visualization. The amount of data that will result from photo textures is relatively large. Either, algorithms or techniques are developed that provide texture optimization, else the real-time rendering will be difficult.



Despite these difficulties, it is obviously that phototexturing is the future:

Models look substantially more interesting, have a higher recognition value and contain valuable additional information.

Tagging

Idea:


AB = x Coordinate of the beginning of the color that denotes the opening in the wall (dark blue). The smallest possible value is 00, the largest 63

CD = y Coordinate of the beginning of the color that denotes the opening (dark blue). The smallest possible value is 00, the largest 63

EF = x Coordinate of the end of the color that denotes the opening (dark blue). The smallest possible value is 01, the largest 64

GH = y Coordinate of the end of the color that denotes the opening (dark blue). The smallest possible value is 01, the largest 64


Further elements in this figure obtain the following corresponding syntax behind an underscore: A´B´C´D´E´F´G´H´

Analogous: A texture, that contains n surfaces, is described by:

Syntax

The texture name is also the unique description of the texture and consists of integers.

The texture with syntax ABCDEFGH consists of:

AB = x Coordinate of the beginning of the color which symbolizes the opening (dark blue). The smallest possible value is 00, the largest 63

CD = y Koordinate von dem Anfang der Farbe welche die Öffnung symbolisiert (dark blue). The smallest possible value is 00, the largest 63

EF = x Koordinate von dem Ende der Farbe welche die Öffnung symbolisiert (dark blue). The smallest possible value is 01, the largest 64

GH = y Koordinate von dem Ende der Farbe welche die Öffnung symbolisiert (dark blue). The smallest possible value is 01, the largest 64

AB = v1

CD = v2

EF = v3

GH = v4


MarekTextureDescription.gif

Weitere Elemente im Bild erhalten nach einem Unterstrich entsprechend die Syntax: A´B´C´D´E´F´G´H´

Analog: Eine Textur, die n Flächen beinhaltet, wird beschrieben durch:

ABCDEFGH_A´B´C´D´E´F´G´H´_ ... AnBnCnDnEnFnGnHn

Examples

Key Description Example values Notes
generic_texture puts generic texture on plane yes
texture_rotation rotation of texture on plane in [°] 45°
scale_x Scaling factor along the x-axis in [%] 50%
Scale_y Scaling factor along the y-axis in [%] 74%
texturestart_x Beginning of texture along the x-axis in [%] 0% see part: texture moving
texturestart_y Beginning of texture along the y-axis in [%] 20% see part: texture moving
RGB_background RGB value of background 250,240,230 min:0, max:255
RGB_opening RGB value of "opening" 0,15,115 min:0, max:255
Texture name Graphic representation
20202424 Marek20202424.gif
20221127_333221127 Marek20221127 333221127.gif
38000857 Marek38000857.gif
10001945_33222223 Marek10001945 33222223.gif
06171845_21004045_44175645 06171845 21004045 44175645.gif
20221127_333221127 Marek20221127 333221127.gif
20173041_32174241_20433053_32434253 20173041 32174241 20433053 32434253.gif
Long texture name Lot of elements

possible

01011808_20013708_

39015608_58016308_

01091832_20093732_

39095632_58096332_

01341839_20343739_

39345639_58346339_

01411858_20413758_

39415658_58416358_

01591863_20593763_

39595663_58596363

01011808 20013708 39015608 58016308 01091832 20093732 39095632 58096332 01341839 20343739 39345639 58346339 01411858 20413758 39415658 58416358 01591863 20593763 39595663 58596363.GIF
23292435_24272537_

25262538_26252739_

27242930_29233541_

35243740_37253839_

38263938_39274037_

40294135

23292435 24272537 25262538 26252739 27242930 29233541 35243740 37253839 38263938 39274037 40294135.gif

The textures from the above table were drawn with the colors:

- RGB-value Background: 250,240,230

- RGB-value Opening: 0,20,120

Shifting of the texture

The texture usually starts in the lower left corner of the surface that is textured (insertion point). Sometimes it is advantageous if the insertion point of the texture is not at the beginning of a surface:

MarekMovingOfTexture.jpg

This texture is repeated six times along the x and 3 times along the y axis:


MarekMovingOfTexture1.jpg

Result:

MarekMovingOfTexture2.jpg

Texturing of surfaces with more textures

Often it is impossible to make a good surface representation with only one texture. In this case it is necessary to divide the surface in smaller areas. Each of this areas gets a separate texture.

For example: this result

MarekexampleKomplexTeturing.gif

can be arrive by dividing of main surface:

MarekexampleKomplexTeturing1.gif