Getting Started with NoesisGUI C++ SDK

The aim of this tutorial is to get you started with the NoesisGUI C++ SDK and its directory structure. You will learn to build, configure and begin using the SDK to create high-performance native applications.

Running Samples

The SDK comes with many prebuilt samples ready to be executed. They are located in the 'NoesisSDK/Bin/' directory. There is one sub-folder for each supported platform. For example, the Menu3D sample for windows 64-bits is located at 'NoesisSK/Bin/windows_x86_64/Samples.Menu3D.exe'.

In that same folder you can also find XamlPlayer, a useful tool to quickly do your first UI experiments.

All our samples are built using the Application Framework and support common functionality like:

  • The following command line switches:
    • --render [D3D11|GL|Metal|...]: overrides the default renderer.
    • --vsync [0|1]: disables vertical synchronization.
    • --samples N: enables multisample anti-aliasing (MSAA), by default it is off.
    • --linear: for switching to linear rendering, by default rendering happens in gamma space.
    • --log_binding: to increase the verbosity of logging when using data binding.
  • The following Shortcut keys:
    • CTRL + W: toggles wireframe mode when rendering triangles.
    • CTRL + B: each batch submitted to the GPU is given a unique solid color.
    • CTRL + O: display pixel overdraw using blending layers. Different colors are used for each type of triangle: green for normal, red for opacities and blue for clipping masks.
    • CTRL + P: per-primitive Antialiasing extrudes the contours of the geometry and smooths them. Useful when GPU multisampling is not enabled.
    • CTRL + F: display a performance stats panel.

Building Samples

All the provided samples in the SDK, including the Application Framework, comes with full source. There is a solution for each platform inside the 'NoesisSDK/Build/' directory for building all the applications. For example, the Visual Studio solution for 64-bits can be found at 'NoesisSDK/Build/NoesisGUI-win-x86_64.sln'.

Each sample also contains a Blend solution inside its 'Data' folder. For example, the Blend project for the Menu3D sample is located at 'NoesisSDK/Src/Packages/Samples/Menu3D/Data/Menu3D-blend.sln'.


Source code for each sample is also available on GitHub. We are happy to accept pull requests.

Supported compilers are the following:

  • Visual Studio 2015+
  • XCode 10.1+
  • GCC 4.8.X+ and GNU Make 4.2.1+
  • Emscripten 1.37.40+


For building with Emscripten in Windows we recommend installing Make for Windows.

The following build configurations are available:

  • Debug: with asserts, logging and instrumentation enabled.
  • Profile: fully optimized, minimal logging and instrumentation enabled.
  • Release: fully optimized, LTO in many platforms.

Creating Applications

Once you get familiar with our samples you are ready to start creating your own applications. For that purpose we highly recommend reading the following documents:

© 2017 Noesis Technologies