phototiler logophototiler

A photorealistic map renderer and 3D map model exporter.

Documentation

Welcome to the Phototiler documentation! Phototiler is a 3D tool that can be used to make high quality map rendering and export 3D models in a minimalistic interface.

If you've ever felt overwhelmed using Blender's interface or other generic 3D software not dedicated to maps, Phototiler can be the right tool for you.

Its minimal design aims to have a low cognitive load interface, while taking advantage of advanced rendering techniques that can't be achieved in real-time rendering of maps. It is built natively for Linux, macOS and Windows to take best advantage of your computer's hardware, for a fast 3D model generation process.

For any question about the software, feel free reach out to phototiler@gmail.com.

Table of Contents

  1. Introduction
  2. Licensing
  3. Map Region Selection
  4. Rendering Viewport
  5. Settings
    1. Rendering
    2. Camera
      1. Field Of View
      2. Aperture & Focal Distance
    3. Sky
    4. Terrain
  6. Layers
    1. Data Source
    2. Layer Order
    3. Geometry Builders
    4. Filters
      1. Creating a filter
      2. Inspecting the data
    5. Materials
      1. Metallic Roughness
      2. Emission
  7. Application Shortcuts

Introduction

Phototiler has two main features; generation of 3D map models taken from real-world data and photorealistic rendering of maps for static cartography. The data can be sourced from different data providers, such as Nextzen and Mapbox, it is then processed and filtered with a user-defined style to create a 3D model of the map.

The 3D models can be exported as GLTF files, which can be used in Blender, Unity, Unreal Engine, Sketchfab or other CAD and general purpose 3D software.

The rendering is done using a path tracer, which is a type of global illumination algorithm that can produce highly realistic images and accurate lighting effects. Once finalized, the renders can be exported as PNG images, which can be further edited in any image editing software or directly used as is.

To speed up the rendering process, Phototiler has a built-in AI-based denoiser. This denoiser is able to remove noise from the rendered images while preserving the important details and features of the image for clean and smooth results.

Licensing

Phototiler is available for non-commercial and evaluation purposes. If you are interested in using Phototiler for commercial purposes, you can get a commercial license by purchasing a license key.

Phototiler evaluation has no time limit. If the evaluation demo is all you need, feel free to use forever :)

Interface Overview

The interface is divided into 5 main sections.

Map Region Selection

The first part of the user interface you might use is the map region selection. Located at the bottom right of the interface, you can use it to select a region of the map to render or export by clicking and dragging on the blue dots of the map area.

map region selection

You can also use the zoom control at the bottom to increase or decrease the map level of detail. Increasing the level of detail will result in more tiles being downloaded and rendered, which can increase the complexity of the scene and rendering time. On this view, the tiles are represented by blue squares.

At the bottom left of the map selection, the crop button will allow you to recenter the selection on the currently viewed area.

As soon as you make changes to the map region selection, the data will be downloaded and 3D model updated to reflect the changes.

Rendering Viewport

To render an image, Phototiler uses a rendering algorithm called path tracing. This is a Monte Carlo rendering technique used to create photorealistic images of 3D scenes. It works by tracing the paths of light rays from the camera through the scene and simulating the interactions of the rays with the objects in the scene.

Using a global illumination algorithm means that it accounts for the indirect illumination of objects in the scene. This is in contrast to local illumination algorithms, which only consider the direct illumination of objects from light sources and what is typically used in real-time map rendering.

Path tracing works by sampling the light rays that are emitted from the camera and following them through the scene. At each point where the light ray intersects an object in the scene, the algorithm calculates the amount of light that is absorbed, scattered, or reflected by the object. This information is used to update the color and intensity of the light ray, and the ray is then traced further through the scene.

After a large number of light rays have been traced through the scene, the algorithm calculates the color of each pixel in the image by averaging the colors of the rays that pass through that pixel. This produces a high-quality, photorealistic image of the scene. It is a computationally intensive rendering technique, but it is able to produce very realistic images with complex lighting and shadow effects. In Phototiler, this algorithm is implemented on the GPU.

You can monitor rendering at the center of the interface, in the rendering viewport. The blue progress bar at the bottom displays the rendering progress, determined by the total number of samples chosen for the image. The more samples, the more accurate the rendering will be, but the longer it will take to render. Once the rendering has reached the desired number of samples, the denoiser will get applied and remove the noise from the image.

At the top right of the rendering viewport, you can find a small camera control, which allows you to orbit the camera along the principal axis of the scene. You can also use the mouse to scroll, pan and zoom in and out of the scene. The camera controls are described below.

ControlDescription
Right Mouse Click + Mouse DragControl camera orbit
Shift + Right Mouse Click + Mouse DragControl camera translation
Mouse ScrollCamera zoom in and out

On the bottom right, you can use the camera icon to export the render as a PNG image, and the play and pause icons to start and pause the rendering process.

Settings

Rendering

On the right side of the interface, you can find the application settings. This tab allows you to configure the number of samples and the rendering resolution. The higher the number of samples, the more accurate the rendering will be, but the longer it will take to render. The resolution will determine the size of the final image, it is only available for Phototiler Pro.

render settings

Camera

The camera settings tab allows you to configure the camera field of view, aperture and focal distance.

camera settings
Field Of View

The camera field of view (FOV) is the angle of view covered by the lens of a camera. It is the angle between the two lines of sight that define the edges of the image sensor. The camera FOV determines the amount of the scene that is captured.

The camera FOV is an important consideration in photography and video, as it determines the perspective of the image. A wide-angle FOV will capture a broader view of the scene, while a narrow FOV will capture a more zoomed-in view. For example, a narrow-angle FOV can be used to make orthographic projections. The choice of FOV will depend on the intended use of the image and the desired visual effect.

narrow FOV used to create ortographic projection
Aperture & Focal Distance

The camera aperture is the opening in the lens that allows light to pass through to the image sensor. The size of the aperture is measured in f-stops, which are a ratio of the focal length of the lens to the diameter of the aperture. A smaller f-stop number indicates a larger aperture, while a larger f-stop number indicates a smaller aperture.

The camera aperture is an important consideration in photography and video, as it determines the depth of field of the image. A wide aperture will produce a shallow depth of field, while a narrow aperture will produce a deep depth of field. The choice of aperture will depend on the desired visual effect.

depth of field effect possible with the camera aperture and focal distance

Sky

The sky settings control the environment lighting. It is split into two main components, the sky and the sun, each of which acts as an infinite light source.

To control the environment lighting you have the following settings:

sky description

Terrain

Since phototiler v2.2.0, you can use terrain to elevate your layers. To enable terrain, simply increase the extrusion value to be above 0 in the settings panel. You can also choose to include a base mesh, and provide a material for it.

For all layers that are in the scene, phototiler processing will subdivide and clip the layer polygons against the terrain geometry grid patches in order to properly match and fit the extruded terrain geometry. This allows to have layer geometry morph against the terrain geometry.

Layers

In the context of mapping, a map layer is a separate and distinct collection of data that is displayed on a map. A map may have multiple layers, each representing a different type of data or a different aspect of the map.

Map layers are used to organize and display complex spatial data in a way that is easy to understand and analyze. Each layer typically represents a different theme or category of data, such as roads, buildings, rivers, or land use. By overlaying multiple layers on top of each other, users can create maps that show a rich and detailed view of the area being mapped.

layers

For 3D mapping, map layers can be extruded to create 3D buildings, roads, and other features to give a sense of perspective. But the underlying data source layer is still organized in 2 dimensions. In Phototiler, you provide styling rules for each layer so that it can be processed, tesselated and extruded into a 3D model.

Data Source

Each layer has its own data source. Currently, Phototiler supports two different data source endpoints:

For now, these data sources can't be modified, but control over data source endpoints may be added in future versions.

To style a map, knowledge of the underlying data source may be needed so the documentation of each of these data endpoint might become handy.

Layer Order

The layer order defines visual ordering on the axis going upward from the ground. It is applied as a small epsilon offset on the geometry between layers with a separate order. Layer order is implicitly defined by the order in which they appear in the layer list and can be switched by the arrow up and arrow down buttons.

For example, if you want to display a land-use layer and a park layer, since the land-use layer will include the park layer footprint, you might want to put the park layer above the land-use layer to properly display it.

Geometry Builders

Phototiler currently supports 3 types of geometry builders: Polygon, Line and Point. Each of these builders can be applied independently to the geometry of a layer. For example, you can have a layer containing polygons and apply the point builder to display points at each polygon edge, or the line builder to display a line at each polygon edge. To display buildings, you can use the polygon builder with a given height to extrude the polygons into 3D buildings.

Sometimes, the underlying data source may not have height information. In that case, you can use the polygon builder minimum height value to assign a given height to each polygon.

Filters

A map layer filter is a tool used to selectively display or hide data in a map layer. Map layer filters allow users to focus on specific aspects of the data in a layer, or to exclude irrelevant or uninteresting data from the map.

Map layer filters are applied using a set of rules or criteria that define which data should be displayed and which data should be hidden. These rules can be based on the attributes of the data, such as the type, category, or value of the data.

Phototiler currently supports three types of filter, which can be combined for a single layer:

Creating a Filter

To create a filter, navigate to the filter tab, select the category of filter you want to create between any of, all of, none of, select the operator type of your filter and click on the + button.

Inspecting the data

Inspecting the data can be useful to create filters and style the map. For each of the data source, you can inspect the data with the following inspectors:

Materials

In 3D graphics, a material is a set of properties that define the appearance of an object's surface. These properties can include the color, texture, transparency, reflectivity, and other optical characteristics of the object.

Materials are often used in 3D graphics to add realism to a scene. They allow objects to have different surface properties, such as the metallic shine of a car's body or the rough texture of a stone wall. This makes the objects in the scene look more realistic and believable.

Metallic Roughness

Phototiler uses the metallic roughness shading model. It is a shading model that is used to define the appearance of materials with metallic and rough surfaces. The model is based on the idea that metallic materials have a specular reflectance that depends on the roughness of the surface, and that rough surfaces scatter light in a diffuse manner. Each layer can have its own material, which can be configured in the layer view.

In the metallic roughness model, the reflectivity of a material is controlled by two parameters: the metallic value and the roughness value. The metallic value determines the amount of light that is reflected from the surface in a specular manner, while the roughness value determines the amount of light that is scattered in a diffuse manner. These values can be adjusted to create a wide range of different materials, from highly reflective metals to rough, matte surfaces.

Emission

Materials also have the possibility to be emissive. When using the emission entry of the material parameters, the geometry becomes a light source and will emit lights to its surrounding based on its material color. Note that when you use emission, the metallic and roughness parameters are not used.

Application Shortcuts

ShortcutDescription
Ctrl+NCreate a new scene
Ctrl+OOpen an existing scene file
Ctrl+SSave the currently opened scene file
Ctrl+Shift+SSave the currently opened scene as a new file
Ctrl+Shift+EExport the currently opened and generated scene as a GLTF 3D model
Ctrl+EExport the current render as a PNG image
↑ back to top