textures / raster files : concepts in CityEngine / ArcGIS

03-29-2012 05:27 AM
Frequent Contributor

Quite a few new customers and people evaluating CityEngine who are working in the field of GIS ask about how CityEngine handles 'raster files' or 'basemaps' and what the best practices are concerning file resolutions.

Since CityEngine works ( from a technology-POV ) very similar as many other pure 3d applications (CityEngine is a 3d Modelling Application), I wanted to point out a few differences between CityEngine and ArcGIS :

ArcGIS-users call bitmap files 'raster files' due to their grid-based nature. People usually working with 3d applications call them 'textures'. It's the same thing.

ArcGIS has technologies embedded which 'dynamically' load only the part of a dataset which is currently visible on screen. Thus, with this technology HUGE raster datasets (> 1GB) can easily be displayed.
CityEngine does NOT have such a streaming service, thus raster files / textures should be prepared with some basic knowledge how they shall be used in a CityEngine project.

Important things to know :

1] Arc GIS' basemaps can not directly be loaded in CityEngine as a layer. The user must export the specific 'area of interest' (extent) as a texture to be used within CityEngine.
2] To be able to work with textures, all the textures must reside within the opened project, usually in the 'assets' folder general textures, respectively the 'maps' folder for map-/basemap - textures (or a subdirectory).
3] CityEngine is a 3d application which uses a technology called 'OpenGL' to display the 3d models (and the scene). Displaying 3d graphics this way uses the computer's graphics card . For this, all textures are fully loaded in that graphics card's memory. [Please note that the computer has 'main memory', which is usually called RAM. A graphics card has it's own RAM, often called 'Video RAM'. ]
4] Since the amount of memory on graphics cards is usually quite small (~ 256 MegaBytes - 1.5 GigaBytes), one can imagine that the resources should be handled carefully !
5] Please note that when importing raster files from ArcGIS (e.g. GeoTIF), the file's projection MUST MATCH the CityEngine scene's Scene Coordinate System. CityEngine can not (yet) reproject raster files when importing into the scene (as opposed to Shapes and Graph Segments !).

Since the amount of memory used per texture is directly linked to it's resolution (e.g. 500x500 pixels) plus the bit-depth of the file, we recommend to work with as efficient files as possible :

- use graphics card drivers which are UP TO DATE !
- use 8 bit textures whenever possible (except the terrain's 'heightmap' which usually just is 32 bit)
- use texture resolutions <= 1024 x 1024 px (does not need a square ratio)
- terrains may be higher in resolution, I'd say <= 2048 x 2048 px.
- higher resolution textures may be downsampled automatically by CityEngine ( for viewport display only ! ).
- if a texture has too large a resolution (e.g. 13'000 x 13'000 px), it will not be displayed at all.

Esri R&D Center Zurich
Tags (2)
6 Replies
New Contributor
Matthias, can you please address the issues that the Procedural City Engine 2010 users are having ... not being able to activate their legacy products.  There are a couple of posts in this forum now and we can't seem to get anyone from esri to address our situation.  This is extremely frustrating to say the least.


Tom Messina
0 Kudos
Frequent Contributor

Please post in the according threads .. 🙂
0 Kudos
Esri Contributor
I have a TIN-->DEM Raster that is saved as .tif
Even though I had to use the Con in the raster calculator to convert nodata to 0, when brought back into CityEngine, all my nodata is still displayed as 255 height; however, in ArcScene, ArcMap I can see that the areas that have been Converted are showing as 0.
Whats the best method to set nodata to 0.
In my scene, my height map where there is nodata is showing as 255 elevation so it plateaus.
0 Kudos
Frequent Contributor

The issue in 2012 is that BOTH 'NaN' and '0' values do that. so you'll need to set the exact '0' values to e.g. '0.01'

We've looked into this for the upcoming 2013 release.

Ok ?

0 Kudos
New Contributor
welcome . Need tutorials on the city program to explain the program interface and how to create a project for work as well as the possibility of importing files from gis, to draw three-dimensional images, please help me in this
0 Kudos
Esri Regular Contributor

Here are the CityEngine tutorials:

Introduction to the CityEngine tutorials—CityEngine Tutorials | ArcGIS Desktop 

Tutorial 1 starts with setting up a project and ends with creating 3D buildings by applying rules to shapes.  Tutorial 5 is about importing shapes.

The help doc also has information about the interface, how to create a project, and importing data among other topics.

User Interface 

Using CityEngine Projects 

Importing Data 

0 Kudos