TINMAN 3D / REALTIME TERRAIN
Software Development Kit - User Manual

Getting Started

This page will help you get started quickly with using the Tinman 3D SDK.

Download and Installation

To download the Tinman 3D SDK, please follow these steps:

  1. Read and accept the Terms and Conditions.
  2. Download the packages (see Release Notes).
  3. Validate the MD5 checksums.
  4. Unzip the package archives into a directory of your choice.
  5. All package archives share a common folder structure. You can install additional packages is by simply copying them into the main package.

The Tinman 3D SDK does not require any other installation steps.

First Steps

We recommend the following steps as a run-through of the Tinman 3D SDK:

  1. Run the Demo Application .
    You can watch many features of Tinman 3D live in action here.

    bin/win.*/tinman3d_demo.exe
  2. Browse the Demo Application source code.
    Here you can see how the Tinman 3D SDK is used for development.

    ide.cpp/vs2013/Tinman3D.SDK.Cpp.sln
    ide.cs/vs2013/Tinman3D.SDK.CSharp.sln
  3. Browse the API reference.
    You will find the documentation of the entire API of the Tinman 3D SDK there. The APIs for C# and C++ are identical.
     

  4. Browse the Geodata Examples .
    This will show you how geodata is imported into Tinman 3D.

    data/geo/*

    To browse the Geodata Examples in the Workshop Application, open this project file:

    src.twp/geodata_examples.twp
  5. Browse the scripting Reference
    Here you can see how the built-in scripting system of Tinman 3D looks like. For information about the scripting language, please refer to Scripting.

Directory Structure

This is the shared directory structure that all Tinman 3D SDK packages make use of:

bin/

You can find the executables in this directory tree.

tinman3d_bakery.exe : Licence baKErY
tinman3d_demo : Demo Application
tinman3d_demo_mfc : Demo Application (MFC)
tinman3d_workshop : Workshop Application
tinmanpc : Geodata Processor
d3dcompiler_47.dll

The Direct3D 11 Effects Framework creates a hard dependency on d3dcompiler_47.dll, which is not always installed on Windows 7 system (or earlier).

https://github.com/Microsoft/FX11

bin/win.any/

Windows DOT.NET 4.5 executables (AnyCPU target)

bin/win.x32/

Windows 32-bit executables (Windows XP or newer)

bin/win.x64/

Windows 64-bit executables (Windows XP or newer)

data/demo/

Content of the Demo Application.

data/geo/

The Geodata Examples and processed raster datasets.

data.bulk/

Downloaded geodata for offline use (optional).

The directory structure of data/ and data.bulk/ is identical.

Files that exist in this directory will be used instead of the online HTTP versions.

doc/

The Tinman 3D SDK documentation (this manual).

external/bin/

Contains installers of third party software.

Visual C++ Redistributable Packages for Visual Studio 2013

https://www.microsoft.com/en-us/download/details.aspx?id=40784

Microsoft .NET Framework 4.5.1 (Web Installer) - English

https://www.microsoft.com/en-us/download/details.aspx?id=40773

external/lib/win/

This directory holds binaries of third-party libraries.

All pre-compiled libraries in this directory have been created using Visual Studio 2013:

Microsoft Visual Studio Professional 2013
Version 12.0.40629.00 Update 5

If applicable, setup and configuration of Open-Source libraries has been performed with CMake 3.9.0.

Direct3D HLSL Shader Compiler

These libraries are required by the Tinman.AddOns.DirectX component:

x32/d3dcompiler_47.dll
x64/d3dcompiler_47.dll

The binary files can also be found in the local Windows SDK:

%ProgramFiles(x86)%\Windows Kits\8.1\Redist\D3D\

For more information, please visit this link: Where is the DirectX SDK?

Assimp - Open Asset Import Library

These libraries are required by the Tinman.AddOns.Assimp component:

assimp3.x32.dll
assimp3.x64.dll
assimp4.x32.dll
assimp4.x64.dll

These libraries have been compiled from the following releases:  

Assimp 3.3.1
Assimp 4.0.1

The default CMake settings of the Assimp project are used, except for ASSIMP_BUILD_ZLIB=ON. For the 4.* release, the default value ASSIMP_DOUBLE_PRECISION=OFF must be used, otherwise the Tinman.AddOns.Assimp component cannot interface with the Assimp binary.

The output binaries (i.e. assimp-vc120-mt.dll) have been taken from their respective output directory, renamed and copied into the Tinman 3D SDK directory. 

SharpDX - Direct3D 11 Effects

These libraries are required by the C# version of the Tinman.AddOns.DirectX component.

sharpdx_direct3d11_1_effects_arm.dll
sharpdx_direct3d11_1_effects_x64.dll
sharpdx_direct3d11_1_effects_x86.dll

The binary files are part of the SharpDX library.

For the Tinman 3D SDK, the binary files have been taken from this nuget package:  

SharpDX.Direct3D11.Effects 3.1.1

external/src.cpp/

This directory holds C++ source files of third-party libraries.

assimp-3.3.1\

This is a stripped down version of Assimp 3.3.1, which contains only those header files that are required to build the Tinman.AddOns.Assimp.Cpp component.

assimp-4.0.1\

This is a stripped down version of Assimp 4.0.1, which contains only those header files that are required to build the Tinman.AddOns.Assimp.Cpp component.

FX11-mar2017\

EFFECTS FOR DIRECT3D 11 (FX11)

Copyright (c) Microsoft Corporation. All rights reserved.

http://go.microsoft.com/fwlink/p/?LinkId=271568

gdal-1.11.5\

This is a stripped down version of GDAL 1.11.5, which contains only those header files that are required to build the Tinman.AddOns.GDAL.Cpp component.

gdal-2.2.1\

This is a stripped down version of GDAL 2.2.1, which contains only those header files that are required to build the Tinman.AddOns.GDAL.Cpp component.

ide.cpp/vs2013/

Visual Studio 2013 solution for the C++ version of the Tinman 3D SDK.

The C++ binary libraries are not included in the download. Use this solution to compile yourn own binaries. You may adjust the compiler and linker options according to your needs.

ide.cs/vs2013/

Visual Studio 2013 solution for the C# version of the Tinman 3D SDK.

lib/

Contains the dynamic link libraries of the Tinman 3D SDK.

lib/win.any/

Windows DOT.NET 4.5 DLLs (AnyCPU target).

These DOT.NET libraries have been obfuscated and signed.

lib/win.x32/

Windows 32-bit DLLs.

Only the Tinman.Licence.cpp.x32.dll library is contained in the download.

All other libraries must be compiled by using one of the contained C++ IDE projects.

lib/win.x64/

Windows 64-bit DLLs.

Only the Tinman.Licence.cpp.x64.dll library is contained in the download.

All other libraries must be compiled by using one of the contained C++ IDE projects.

src.cpp/

C++ source code files, structured by SDK Component.

src.cs/

C# source code files, structured by SDK Component.

src.hlsl/

Direct3D HLSL / FX source code files.

src.twp/

Example Tinman 3D processing scripts and Workshop projects.

temp/

This directory is used for caching and storing settings.