Tellusim Core SDK
December 30, 2025 ยท View on GitHub
Tellusim Core SDK is the foundational layer of the Tellusim Engine, providing low-level functionality for high-performance graphics, compute, and application development across multiple platforms and devices. It offers a unified C++ API designed to abstract hardware and OS differences, enabling developers to write portable and scalable applications in graphics, simulation, visualization, and AI.
The SDK includes comprehensive support for meshes, images, user interfaces, and GPU-accelerated algorithms such as radix sort, bounding volume hierarchies (BVH), fast Fourier transforms (FFT), and GPU-driven computational graph framework for machine learning and advanced data processing.
In addition to C++, the SDK provides bindings and interoperability for other languages such as C#, Rust, Swift, Python, Java, and JavaScript, making it suitable for use in native mobile and desktop applications as well as game and graphics engines.
Happy coding, and have fun creating with Tellusim!
Getting Started
Documentation and Support
Platforms
Please choose the correct branch for your platform:
| Platform | Branch |
|---|---|
| Windows x64 | Windows x64 Branch |
| Windows arm64 | Windows arm64 Branch |
| Linux x64 | Linux x64 Branch |
| Linux arm64 | Linux arm64 Branch |
| macOS x64 | macOS x64 Branch |
| macOS arm64 | macOS arm64 Branch |
| Android | Android Branch |
| iOS | iOS Branch |
| tvOS | tvOS Branch |
| Web | Web Branch |
Licensing
- Tellusim Core SDK is free for educational use by students, teachers, and academic institutions.
- Tellusim Core SDK is free for non-commercial research by individuals or non-profit organizations.
- Tellusim Core SDK is free for individuals and companies with total annual revenue under USD $200,000.
- Tellusim Core SDK is free for evaluation, testing, learning, and other non-commercial experimentation.
- Tellusim Core SDK is free for open-source, non-commercial projects distributed under OSI-approved licenses (MIT, BSD, GPL, LGPL, or Apache 2.0), provided such projects generate no revenue and do not sell, license, or otherwise monetize software built with the Tellusim Core SDK.
- Tellusim Core SDK may be redistributed unmodified, along with binaries built with it, as part of free or open-source projects, provided the SDK itself is not sold, sublicensed, or rented for a fee.
- Any other use, including production deployment, commercial projects, or client-facing demonstrations, requires a Tellusim Commercial License.
For full license terms, see the Tellusim Core SDK LICENSE
For inquiries, visit: Tellusim Services
Graphics
Clustered Lights
Forward shading with 16384 dynamic lights. This algorithm is compatible with deferred shading and transparent objects.
Meshlet Render
A massive meshlets rendering example with Mesh Shader for hardware and Compute Shader for software rasterization.
'1' activates Instancing mode.
'2' activates Mesh Shader mode.
'3' activates Compute rasterization mode.
Mesh RayTracing
Traversal class for the simple raytracing pipeline access. Vulkan or Direct3D12 API is required.
Mesh RayQuery
Ray Query raytracing of animated scene. Vulkan, Direct3D12, or Metal API is required.
'1' activates Fragment Shader raytracing (if available).
Hardware RayTracing
Hardware accelerated RayTracing of animated objects.
Compute RayTracing
Compute Shader RayTracing of animated objects.
Hardware RayTracing
Hardware accelerated RayTracing of high-polygonal objects.
Compute RayTracing
Compute Shader RayTracing of high-polygonal objects.
Compute Traversal
Compute Shader BVH tree traversal is a key technique in GPU-driven rendering that provides significantly better performance than CPU-based culling.
JPEG Decoder
The DecoderJPEG provides GPU-accelerated JPEG decoding functionality.
Cube Filter
The CubeFilter interface performs real-time Cube texture filtration.
Separable Filter
The SeparableFilter interface helps to create different separable filters like Gaussian, Sobel, Box, and custom weights.
Indirect Draw
Drawing massive amount of quads using different indirect rendering techniques.
Geometry Shader
Rendering massive amount of boxes with Geometry Shaders.
'1' activates Vertex Shader mode.
'2' activates Mesh Shader mode (if available).
Tessellation Shader
Quadrilateral tessellation with Control + Evaluate or Mesh Shaders.
'1' activates Mesh Shader tessellation mode (if available).
Ordered Independent Transparency
Ordered Independent Transparency with atomic buffer operations from the fragment shader.
Hardware Ray Tracing Shadows
Hardware raytracing shadows with simple deferred shading. An API with Ray Query support is required.
Software Ray Tracing Shadows
Software raytracing shadows with simple deferred shading. Compatible with all APIs.
Percentage Closer Filtering Shadow Map
PCF Shadow Maps provides shadow with variable penumbra size based on the distance between the shadow caster and receiver.
Exponential Shadow Maps
Exponential Shadow Maps provides noise-free shadows with a fixed performance cost and constant penumbra size.
Parallax 2D
Parallax occlusion mapping with self-shadowing for the mesh geometry.
Parallax Cube
Parallax occlusion mapping with self-shadowing for the analytical sphere.
Mesh Tangent Basis
Mesh tangent basis renormalization at the Fragment Shader. Mesh class can re-create normal and tangent vectors.
Mesh Model
MeshModel class creates a rendering model representation for the input Mesh or MeshGeometry with a specified Pipeline layout.
It is possible to inherit MeshModel class and combine multiple meshes into the single Buffer.
Mesh Morphing
This is a basic morph mesh animation example. AttributeIndex provides a stable mapping between source and optimized vertices. Texel Buffer acts as a workaround for platforms that lack compute shader support.
Mesh Skinning
This is a basic skinned mesh animation example. Mesh classes give comprehensive access to all mesh data, including Nodes, Animations, Materials, Cameras, and Lights.
Multi Window
Rendering scene into multiple borderless windows.
Line Rendering
Simple antialiased line rendering. The Vertex shader creates a screen-aligned billboard, and the fragment shader calculates the distance to the line.
Platform
Platform Precision
Performance and precision difference between 16-bit, 32-bit, and 64-bit floating formats.
'1' activates 64-bit precision.
'2' activates 16-bit precision.
Platform Bindless
This example demonstrates bindless Buffer and Texture resources indexed by InstanceIndex. Vulkan, Direct3D12, or Metal API is required.
Platform TextureTable
TextureTable is an interface for an unlimited number of bindless textures that can be accessed from any shader by uniform or non-uniform index. Vulkan, Direct3D12, or Metal API is required.
Platform Texel
Texel buffer provides cached buffer access that is compatible with OpenGLES platform. Moreover, it can work faster than the Storage buffer in some scenarios.
Platform Texture
Dynamic 3D texture created with SIMD CPU instructions.
Platform Command
Command class for basic rendering. Depth Cube texture for omnidirectional shadow map.
Platform Tracing
Hardware accelerated raytracing shadows. An API with Ray Query support is required.
Platform Compute
Compute class for simple compute shader texture generation.
Platform Fence
Multi-GPU N-body simulation with Fence synchronization. A shared buffer is used for data exchange between GPUs.
Platform Fence
Multi-GPU synchronization with fences and semaphores.
Platform Sparse
This example shows how sparse textures allow handling very large textures by allocating only the needed tiles in GPU memory
Platform Mapped
This example shows how Vulkan can map files into GPU buffers, allowing the GPU to read from and write to files directly without extra copying.
Platform Formats
This example shows how mixed texture formats can reduce video memory consumption. Image format conversion is performed by the Image interface.
Platform Dynamic
A single-thread dynamic geometry rendering can provide more than 100M triangles per second rate.
Platform Clip Planes
Vertex Shader clip distance output is useful for arbitrary geometry culling.
Platform Stencil Buffer
Constructive Solid Geometry with the Stencil Buffer. This algorithm is compatible with procedural geometry.
Platform Fusion
Fusion API allows replicating all commands and resources across multiple physical or logical devices. It dramatically simplifies the development of apps for multi-GPU or multi-channel rendering.
Platform Layers
Demonstrates multilayer rendering where the target layer is selected dynamically in the Vertex Shader, Geometry Shader, or Geometry Passthrough Shader.
Platform Viewports
Demonstrates multi-viewport rendering with dynamic viewport selection in the Vertex Shader, Geometry Shader, or Geometry Passthrough Shader.
Platform Samplers
Demonstrates various texture sampler configuration modes.
Barycentric Coordinates
Build-in barycentric coordinate input is available in Vulkan, Direct3D12, and Metal APIs.
Multi Draw Indirect
This example performs MDI rendering of different objects.
Vertex Attribute Divisor
This example demonstrates the use of a vertex attribute divisor to fetch per-draw data.
MSAA Alpha Test
MSAA-compatible alpha test in comparison to hardware alpha to coverage.
Input Blending Color
Blending color parameter defines uniform value for blending operations.
Multisample Antialiasing
This example performs AA line rendering into MSAA texture.
Platform Preprocessor
This example demonstrates how to use the #include preprocessor directive to declare generic functions.
Platform Texture Samples
Writing and reading individual multisample texture samples with active Pipeline sample write mask.
Conservative Rasterization
Hardware conservative rasterization.
Cooperative Matrix (Tensor Cores)
Cooperative matrix example.
Matrix Multiplication
Matrix multiplication example.
Subgroup operations
Shader subgroup operations.
Structure references
This test showcases GLSL structure mapping to raw SSBO buffer, enabling storage of data with different layouts within a single SSBO buffer.
Shader Printf
A simple preprocessor-based printf() functionality for compute shaders that work with all APIs.
Interface
Interface Canvas
Different CanvasElement classes, including texture filtration, gradients, contour outlines, and SVG rendering.
Interface Controls
Different User Interface Control classes in resolution-independent configuration.
SVG
This plugin enables SVG images support for Control widgets.
docs.tellusim.com/core/plugins/interface/svg
Flow
Flow Control is a universal node-based editor designed for a variety of applications, including material and logic editing. It includes base implementations in both GLSL and C++.
docs.tellusim.com/core/plugins/interface/flow
Color
Color selector control.
docs.tellusim.com/core/plugins/interface/color
Interface Element
A CanvasElement wrapper that allows elements to be rendered and manipulated inside a Controls widgets.
docs.tellusim.com/core/plugins/interface/element
Button
A generic button controller that uses custom Canvas elements as Control button.
docs.tellusim.com/core/plugins/interface/button
Slider
A generic slider controller that uses custom Canvas elements as Control slider.
docs.tellusim.com/core/plugins/interface/slider
Plotter
A simple line plotter visualization plugin.
docs.tellusim.com/core/plugins/interface/plotter
Tooltip
A generic tooltip Control allows the display of help information over other interface controls.
docs.tellusim.com/core/plugins/interface/tooltip
Popup
This plugin provides support for dynamic popup windows and contextual menus within the interface.
Interface Layer
A transparent multilayer Controls with variable background blur.
Manipulator Plugin
Manipulator is a simple translator and rotator control for the scene editor.
docs.tellusim.com/core/plugins/interface/manipulator
App
This plugin provides a framework for single-window Control-based applications.
docs.tellusim.com/core/plugins/interface/app
Shape
This example renders cubic shape with applied Stroke and Gradient styles.
SVG Image
Simple SVG image loading and rendering. CanvasShape class accepts SVG path string as input data.
Custom Control
Custom Controls can be created by simple ControlBase class inheritance. The Control behavior can be completely overridden.
Parallel
Parallel TensorGraph from PyTorch
Simple convolutional autoencoder trained with PyTorch and imported into TensorGraph.
Parallel TensorGraph MNIST Digits Recognition
MNIST Digits Recognition using TensorGraph with PyTorch model.
Parallel Fourier 2D
Image convolution based on Fast Fourier Transformation.
Parallel Fluid 2D
Simple 2D fluid simulation based on Fast Fourier Transformation.
Parallel Radix Sort
Multiple independent sorting algorithms can be dispatched in parallel. There is no overhead in comparision with the single array sort. Additionally, dispatch parameters can be fetched from the indirect buffer.
'1' shows the input data.
'2' activates global sort.
Parallel Spatial Grid
Simple physics simulation with collisions based on the SpatialGrid class. It is the fastest way to collide objects of the same size.
Parallel Spatial Tree
Simple physics simulation with collisions based on the SpatialTree class. The SpatialTree allows collision and intersection tests with any primitive inside BVH.
Geometry
Mesh Reduce
MeshReduce is a simple way to simplify input mesh geometry. Simplification preserves all Mesh Attributes, and it is compatible with Skinning Animation.
'1' shows the original geometry.
Mesh Refine
MeshRefine refines geometry mesh using Catmull-Clark (for quadrilaterals) or Loop (for triangles) subdivision algorithms. The Crease Attribute allows additional control over the subdivision process.
'1' shows the original geometry.
Plugins
Open Neural Network Exchange
The ONNX plugin allows loading and running ONNX models with TensorGraph on all platforms and APIs.
docs.tellusim.com/core/plugins/parallel/onnx
OpenXR
OpenXR VR/AR plugin. Supports Vulkan, Direct3D12, Direct3D11, OpenGL APIs on PC; Vulkan, OpenGLES on Android. This plugin creates an OpenXR-compatible output window with any number of channels. The input layer provides a simplified API for the OpenXR input system.
docs.tellusim.com/core/plugins/platform/openxr
Native Cuda driver API
Create dynamic geometry with Cuda and render with Vulkan / Direct3D / OpenGL.
docs.tellusim.com/core/plugins/platform/cuda
Native Vulkan runtime
You can use this plugin to write applications with native Vulkan API. All Tellusim platform classes give access to internal Vulkan handlers and can be used in Vulkan API calls.
docs.tellusim.com/core/plugins/platform/vulkan
Native OpenGL runtime
This plugin provides access to all OpenGL core functions. OpenGL API calls can be utilized when necessary.
docs.tellusim.com/core/plugins/platform/opengl
Native OpenGLES runtime
This plugin provides access to all OpenGLES core functions. OpenGLES API calls can be utilized when necessary.
docs.tellusim.com/core/plugins/platform/opengles
Languages
C++ API reflection
This plugin enables reflection support for C++ API.
docs.tellusim.com/core/plugins/system/reflection
C API binding
The C language API is an intermediary layer between C++ and other languages, such as C#, Rust, and others, that cannot directly import C++ code.
docs.tellusim.com/core/plugins/binding/capi
C# API binding
This plugin provides complete C# language access for all classes and functions. C API bridge plugin is required.
docs.tellusim.com/core/plugins/binding/csharp
Python API binding
Python language API binding gives full access to Tellusim SDK from Python language. It is implemented on C Python API and does not require any additional dependencies.
docs.tellusim.com/core/plugins/binding/python
Rust API binding
This plugin provides complete Rust language access for all classes and functions. C API bridge plugin is required.
docs.tellusim.com/core/plugins/binding/rust
Swift API binding
This plugin provides complete Swift language access for all classes and functions.
docs.tellusim.com/core/plugins/binding/swift
Java/Kotlin API binding
This plugin provides complete Java and Kotlin language access for all classes and functions.
docs.tellusim.com/core/plugins/binding/java
JavaScript API binding
This plugin provides complete JavaScript language access for all classes and functions.
docs.tellusim.com/core/plugins/binding/javascript
Native
Native Direct3D12 runtime
Drawing geometry using native Direct3D12 API calls.
Native Direct3D11 runtime
Drawing geometry using native Direct3D11 API calls.
Native Metal runtime
Drawing geometry using native Metal API calls.
Native Cuda runtime
Cuda runtime API with buffer interop.
Native ROCm runtime
ROCm runtime API with buffer interop.
Native D3D12 texture
Using native D3D12 textures.
Native Cuda texture
Cuda runtime API and texture interop.
Native Direct3D12 pipeline
Creating native Direct3D12 pipeline.
Native Vulkan pipeline
Creating native Vulkan pipeline.
Native Metal pipeline
Creating native Metal pipeline.
Embedding into Direct3D12
Embedding into the nativeal Direct3D12 native window application.
Embedding into Direct3D11
Embedding into the nativeal Direct3D11 native window application.
Embedding into Metal
Embedding into the nativeal Metal native window application (MTKView).
Tools
Tellusim Shader
Command-line interface to the Clay shader compiler.
docs.tellusim.com/core/tools/shader
Tellusim Image
Image conversion utility with batch processing support.
docs.tellusim.com/core/tools/image
Tellusim Mesh
Mesh conversion utility with batch processing support.
docs.tellusim.com/core/tools/mesh
Tellusim Blob
Tool for generating embedded binary resources for applications.
docs.tellusim.com/core/tools/blob
Tellusim Project
Utility for generating project templates.
docs.tellusim.com/core/tools/project
Tellusim Noise
Blue noise generation tool for stochastic sampling and rendering.
docs.tellusim.com/core/tools/noise
Tutorials
Hello Interop
docs.tellusim.com/core/tutorials/13_hello_interop
Hello Controller
docs.tellusim.com/core/tutorials/12_hello_controller
Hello Bindless
docs.tellusim.com/core/tutorials/11_hello_bindless
Hello Image
docs.tellusim.com/core/tutorials/10_hello_image/
Hello Controls
docs.tellusim.com/core/tutorials/09_hello_controls/
Hello Canvas
docs.tellusim.com/core/tutorials/08_hello_canvas
Gaussian Splatting
docs.tellusim.com/core/tutorials/07_hello_splatting/
Ray Tracing with Traversal
docs.tellusim.com/core/tutorials/06_hello_traversal/
Ray Tracing with Ray Queries
docs.tellusim.com/core/tutorials/05_hello_tracing/
Compute rasterization
docs.tellusim.com/core/tutorials/04_hello_raster/
Hierarchical LOD Graphs
docs.tellusim.com/core/tutorials/03_hello_mesh/
Particles Simuation
docs.tellusim.com/core/tutorials/02_hello_compute
USDZ Model Loading
docs.tellusim.com/core/tutorials/01_hello_usdz
Hello Triangle
docs.tellusim.com/core/tutorials/00_hello_triangle
Resources
Documentation
Access Tellusim Core SDK documentation online.
docs.tellusim.com/core
Developer Forum
Join Tellusim Developer Forum to ask questions and explore community discussions.
forum.tellusim.com
Local API Reference
Browse the offline C++ API reference for the Tellusim Core SDK.








































































































































