Getting Started
This page will help you get started quickly with using the Tinman 3D SDK.
The following instructions refer to the Tinman 3D SDK release packages. If you have downloaded a preview package, please refer to the readme.txt file. |
Prerequisites
These prerequisites may need to be installed separately in order to use all SDK components:
-
To run the packaged C# .NET binaries:
.NET Framework 4.8 / Mono 6+ -
To run the packaged C++ Windows binaries:
Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017, 2019 and 2022 -
To build the .NET assemblies from source:
Rider / Visual Studio 2019+ / MonoDevelop
.NET 6.0+ / .NET Core 3.1 / .NET Framework 4.8 / Mono 6+ -
To build the C++ sources:
Visual Studio Toolset for 2015, 2017, 2019 and/or 2022 -
To build the HLSL sources:
Effect-Compiler Tool /fxc
of the Windows SDKfxc
is used for Direct3D 9 and 11. For Direct3D 12, the DirectX Shader Compiler /dxc
is used, via its NuGet redistributable package.
Download and Installation
To download and install the Tinman 3D SDK, please follow these steps:
-
Read and accept the Terms and Conditions.
-
Download the packages (see Release Notes).
-
Validate the MD5 checksums (optional).
-
Unzip the package archives into a directory of your choice. All package archives share a common folder structure. You can install additional packages by copying them into the main package.
First Steps
We recommend the following steps as a run-through of the Tinman 3D SDK.
-
Run the Demo Application.
You can watch many features of Tinman 3D live in action here.
bin/win.*/tinman3d_demo.exe
-
Browse the Geodata Examples.
This will show you how geodata is imported into Tinman 3D, from a users perspective.
data/geo/*
To browse the Geodata Examples in the Workshop Application, open this project file:
src.twp/geodata_examples.twp
-
Read the Developer Guide.
The guide explains important concepts and aspects of the SDK, providing you with the starting points you need for your own development work.
-
Browse the Demo Application source code.
Here you can see how the Tinman 3D SDK is used for development.
ide.cpp/vs/Tinman3D.SDK.Cpp.sln ide.cs/vs/Tinman3D.SDK.CSharp.sln
-
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.
-
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 Overview.
Directory Structure
This sections shows the directory structure that is shared by all Tinman 3D SDK packages.
The root directory contains command-line script files and configuration files:
-
Tinman3D.Demo.cmd
Runs the Demo Application. -
Tinman3D.Demo.Config.txt
Configuration settings of the Demo Application. -
Tinman3D.Examples.cmd
Opens the Geodata Examples in the Workshop Application. -
Tinman3D.Manual.cmd
Browses the SDK manual.
The Demo Application uses a virtual filesystem with the root selector "Engine:" for accessing its content files.
The filesystem content is defined by a variable named resources in the configuration file, which is an array of Mapping objects.
|
bin/
You can find the Tinman 3D executables in this directory tree.
The 3rd-party libraries in this directory tree have been created using Visual Studio 2022, requiring Windows 7 or newer.
bin/win.any/
.NET Framework 4.8 executables (AnyCPU)
Use Mono 6+ to run these executables on non-Windows machines.
Use the solutions in ide.cs/vs/ to build the executables for other framework targets.
|
codex/
The pre-configured Code-X Workflow for the Demo Application is provided in this directory.
data/
Holds the geo registry files for the EPSG Geodetic Parameter Dataset:
-
epsg-11.021.dat
(current) -
epsg-11.017.dat
-
epsg-11.012.dat
-
epsg-11.008.dat
-
epsg-9.9.1.dat
(legacy)
In general, the current geo registry file should be used. Older files should only be used if necessary, for example to retain specific application behaviour.
data/demo/
Content assets 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.
ext/src.cpp/assimp
This is a stripped down version of Assimp 5.4.0, which contains only those header files that are required to build the C++ code of the Tinman.AddOns.Assimp component.
ide.cpp/vs/
Visual Studio solution for the C++ version of the Tinman 3D SDK.
-
Tinman3D.SDK.Cpp.sln
This is the default solution of the SDK. -
Tinman3D.SDK.Full.Cpp.sln
This is the full source code solution of the SDK.
The C++ binary libraries are not included in the download. Use this solution to compile your own binaries. You may adjust the compiler and linker options according to your needs. |
ide.cs/vs/
Visual Studio solution for the C# version of the Tinman 3D SDK.
-
Tinman3D.SDK.CSharp.sln
This is the default solution of the SDK. -
Tinman3D.SDK.Full.CSharp.sln
This is the full source code solution of the SDK.
Use this solution to build the Demo Application and the Geodata Processor for framework targets other than .NET Framework 4.8, for example .NET Core 3.1 or .NET 6.0+. |
lib/win.any/
Cross-platform .NET Standard 2.0 library assemblies (AnyCPU)
These library assemblies have been obfuscated.
lib/win.x32/
Windows 32-bit DLLs (Windows 7 or newer)
Only the library of the Tinman.Licence component 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 (Windows 7 or newer)
Only the library of the Tinman.Licence component 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.
Files and directories that the '.Full.' name tag belong to the full source code version of the SDK.
|
src.cs/
C# source code files, structured by SDK component.
Files and directories that the '.Full.' name tag belong to the full source code version of the SDK.
|
src.fx/
The GPU shader repository, structured by language (hlsl
, glsl
) and graphics API (dx9
, dx11
, dx12
, gl41
, gles30
).
src.fx/hlsl.dx11
src.twp/
The Workshop Application project for the Geodata Examples.
src.xml/
Content for the built-in help system of the Demo Application.
The help system is based on the TextDocument class. |