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 8.0+, .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/**/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 (usingbin/net48
). -
Tinman3D.Demo.Config.txt
Configuration settings of the Demo Application. -
Tinman3D.Examples.cmd
Opens the Geodata Examples in the Workshop Application (usingbin/net48
).
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. For details on the subdirectory structure, please refer to Architectures.
Use the project files in ide.cs/ and ide.cpp/ to rebuild the executables.
|
Some 3rd-party libraries in this directory tree have been created using Visual Studio 2022, requiring Windows 7 or newer. These libraries may be replaced by newly built versions, at any time.
Some 3rd-party libraries in this directory have been taken from their official release packages. These libraries may be replaced by newer release versions, at any time.
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.025.dat
(current) -
epsg-11.021.dat
-
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.3, which contains only those header files that are required to build the C++ code of the Tinman.AddOns.Assimp component.
ext/src.cpp/sdl
This is a header-only version of SDL, which is required to build the C++ code of the Tinman.AddOns.SDL component, if static linkage has been configured at compile-time.
ide.cpp/cmake/
CMake project file for the C++ version of the Tinman 3D SDK.
-
CMakeLists.txt
This is the default project file of the SDK.
The C++ binary libraries are not included in the download. Use this project file to compile your own binaries. You may adjust the compiler and linker options according to your needs. |
ide.cpp/cmake.full/
CMake project file for the C++ version of the Tinman 3D SDK.
-
CMakeLists.txt
This is the full source code project file of the SDK.
The C++ binary libraries are not included in the download. Use this project file to compile your own binaries. You may adjust the compiler and linker options according to your needs. |
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/
Contains the dynamic link libraries of the Tinman 3D SDK. For details on the subdirectory structure, please refer to Architectures.
Only the C++ library of the Tinman.Licence component is contained in the download. All other libraries must be compiled by using one of the contained 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 public GPU shader repository, structured by language (hlsl
, glsl
) and graphics API (dx9
… dx12
, gl41
… gl46
, gles30
… gles32
).
src.fx/hlsl.dx11
The SDK components have embedded private GPU shader repositories. This public repository is used by the Demo Application, just to demonstrate the workflow for GPU Programming. |
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. |
Architectures
net48/
.NET Framework 4.8 executables (AnyCPU)
Use Mono 6+ to run these executables on non-Windows machines.
The following executables are Windows-specific:
-
tinman3d_demo_wpf
-
tinman3d_workshop
net8.0/
.NET 8.0 (AnyCPU)
The following executables are Windows-specific:
-
tinman3d_demo_winforms
-
tinman3d_demo_wpf
-
tinman3d_workshop
The other executables will run on any system that has .NET installed.
Use the solutions in ide.cs/vs/ to build the executables for other framework targets.
|
win.x32/
Windows 32-bit libraries and executables (Windows 7 or newer) for the x86
processor architecture
win.x32-arm/
Windows 32-bit libraries and executables (Windows 7 or newer) for the ARM
processor architecture