|View source on GitHub|
Maps the texture texture_image using uv_map with mip-mapping.
tfg.rendering.texture.mipmap.map_texture( uv_map: tfg_type.TensorLike, texture_image: Optional[tfg_type.TensorLike] = None, mipmap_images: Optional[Sequence[tfg_type.TensorLike]] = None, num_mipmap_levels: Optional[int] = 5, tiling: bool = False, name: Text = 'mipmap_map_texture' ) -> tf.Tensor
The convention we use is that the origin in the uv-space is at (0, 0), u corresponds to the x-axis, v corresponds to the y-axis, and the color for each pixel is associated with the center of the corresponding pixel. E.g. if we have a texture [[1, 2], [3, 4]], then the uv-coordinates that correspond to the values 1, 2, 3, and 4 are (0.25, 0.75), (0.75, 0.75), (0.25, 0.25), (0.75, 0.25), respectively. You can see that the v-axis starts from the bottom of the texture image as would be in cartesian coordinates and that by multiplying the uv-coordinates with the length of the texture image, 2, you can recover the pixel centers in this case, e.g. (0.25, 0.25) * 2 = (0.5, 0.5) corresponds to the bottom-left pixel color that is 3.
If the aspect ratio of the texture is not 1, the texture is compressed to fit into a square.
Note that all shapes are assumed to be static.
A tensor of shape
||If texture_image is too small for the mipmap images to be constructed.|