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, and Python, 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!
- Core SDK is free for education
- Core SDK is free for companies with annual revenue < $200K
- Any other licensing terms are negotiable
For inquiries, visit: Tellusim Services
Tellusim Core SDK Documentation
Prebuilt SDK Builds for All Platforms
Forward shading with 16384 dynamic lights. This algorithm is compatible with deferred shading and transparent objects.
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.
Traversal class for the simple raytracing pipeline access. Vulkan or Direct3D12 API is required.
Ray Query raytracing of animated scene. Vulkan, Direct3D12, or Metal API is required.
'1' activates Fragment Shader raytracing (if available).
Hardware accelerated RayTracing of animated objects.
Compute Shader RayTracing of animated objects.
Hardware accelerated RayTracing of high-polygonal objects.
Compute Shader RayTracing of high-polygonal objects.
The DecoderJPEG provides GPU-accelerated JPEG decoding functionality.
The CubeFilter interface performs real-time Cube texture filtration.
The SeparableFilter interface helps to create different separable filters like Gaussian, Sobel, Box, and custom weights.
Drawing massive amount of quads using different indirect rendering techniques.
Rendering massive amount of boxes with Geometry Shaders.
'1' activates Vertex Shader mode.
'2' activates Mesh Shader mode (if available).
Quadrilateral tessellation with Control + Evaluate or Mesh Shaders.
'1' activates Mesh Shader tessellation mode (if available).
Ordered Independent Transparency with atomic buffer operations from the fragment shader.
Hardware raytracing shadows with simple deferred shading. An API with Ray Query support is required.
Software raytracing shadows with simple deferred shading. Compatible with all APIs.
PCF Shadow Maps provides shadow with variable penumbra size based on the distance between the shadow caster and receiver.
Exponential Shadow Maps provides noise-free shadows with a fixed performance cost and constant penumbra size.
Parallax occlusion mapping with self-shadowing for the mesh geometry.
Parallax occlusion mapping with self-shadowing for the analytical sphere.
Mesh tangent basis renormalization at the Fragment Shader. Mesh class can re-create normal and tangent vectors.
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.
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.
This is a basic skinned mesh animation example. Mesh classes give comprehensive access to all mesh data, including Nodes, Animations, Materials, Cameras, and Lights.
Rendering scene into multiple borderless windows.
Simple antialiased line rendering. The Vertex shader creates a screen-aligned billboard, and the fragment shader calculates the distance to the line.
Performance and precision difference between 16-bit, 32-bit, and 64-bit floating formats.
'1' activates 64-bit precision.
'2' activates 16-bit precision.
This example demonstrates bindless Buffer and Texture resources indexed by InstanceIndex. Vulkan, Direct3D12, or Metal API is required.
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.
Texel buffer provides cached buffer access that is compatible with OpenGLES platform. Moreover, it can work faster than the Storage buffer in some scenarios.
Dynamic 3D texture created with SIMD CPU instructions.
Command class for basic rendering. Depth Cube texture for omnidirectional shadow map.
Hardware accelerated raytracing shadows. An API with Ray Query support is required.
Compute class for simple compute shader texture generation.
Multi-GPU N-body simulation with Fence synchronization. A shared buffer is used for data exchange between GPUs.
Multi-GPU synchronization with fences and semaphores.
This example shows how sparse textures allow handling very large textures by allocating only the needed tiles in GPU memory
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.
This example shows how mixed texture formats can reduce video memory consumption. Image format conversion is performed by the Image interface.
A single-thread dynamic geometry rendering can provide more than 100M triangles per second rate.
Vertex Shader clip distance output is useful for arbitrary geometry culling.
Constructive Solid Geometry with the Stencil Buffer. This algorithm is compatible with procedural geometry.
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.
Demonstrates multilayer rendering where the target layer is selected dynamically in the Vertex Shader, Geometry Shader, or Geometry Passthrough Shader.
Demonstrates multi-viewport rendering with dynamic viewport selection in the Vertex Shader, Geometry Shader, or Geometry Passthrough Shader.
Demonstrates various texture sampler configuration modes.
Build-in barycentric coordinate input is available in Vulkan, Direct3D12, and Metal APIs.
This example performs MDI rendering of different objects.
MSAA-compatible alpha test in comparison to hardware alpha to coverage.
Blending color parameter defines uniform value for blending operations.
This example performs AA line rendering into MSAA texture.
This example demonstrates how to use the #include preprocessor directive to declare generic functions.
Writing and reading individual multisample texture samples with active Pipeline sample write mask.
Hardware conservative rasterization.
Cooperative matrix example.
Matrix multiplication example.
Shader subgroup operations.
This test showcases GLSL structure mapping to raw SSBO buffer, enabling storage of data with different layouts within a single SSBO buffer.
A simple preprocessor-based printf() functionality for compute shaders that work with all APIs.
Different CanvasElement classes, including texture filtration, gradients, contour outlines, and SVG rendering.
Different User Interface Control classes in resolution-independent configuration.
This plugin enables SVG images support for Control widgets.
docs.tellusim.com/core/plugins/interface/svg
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 selector control.
docs.tellusim.com/core/plugins/interface/color
A CanvasElement wrapper that allows elements to be rendered and manipulated inside a Controls widgets.
docs.tellusim.com/core/plugins/interface/element
A generic button controller that uses custom Canvas elements as Control button.
docs.tellusim.com/core/plugins/interface/button
A generic slider controller that uses custom Canvas elements as Control slider.
docs.tellusim.com/core/plugins/interface/slider
A simple line plotter visualization plugin.
docs.tellusim.com/core/plugins/interface/plotter
A generic tooltip Control allows the display of help information over other interface controls.
docs.tellusim.com/core/plugins/interface/tooltip
A transparent multilayer Controls with variable background blur.
Manipulator is a simple translator and rotator control for the scene editor.
docs.tellusim.com/core/plugins/interface/manipulator
This plugin provides a framework for single-window Control-based applications.
docs.tellusim.com/core/plugins/interface/app
This example renders cubic shape with applied Stroke and Gradient styles.
Simple SVG image loading and rendering. CanvasShape class accepts SVG path string as input data.
Custom Controls can be created by simple ControlBase class inheritance. The Control behavior can be completely overridden.
Simple convolutional autoencoder trained with PyTorch and imported into TensorGraph.
MNIST Digits Recognition using TensorGraph with PyTorch model.
Image convolution based on Fast Fourier Transformation.
Simple 2D fluid simulation based on Fast Fourier Transformation.
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.
Simple physics simulation with collisions based on the SpatialGrid class. It is the fastest way to collide objects of the same size.
Simple physics simulation with collisions based on the SpatialTree class. The SpatialTree allows collision and intersection tests with any primitive inside BVH.
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.
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.
The ONNX plugin allows loading and running ONNX models with TensorGraph on all platforms and APIs.
docs.tellusim.com/core/plugins/parallel/onnx
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
Create dynamic geometry with Cuda and render with Vulkan / Direct3D / OpenGL.
docs.tellusim.com/core/plugins/platform/cuda
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
This plugin provides access to all OpenGL core functions. OpenGL API calls can be utilized when necessary.
docs.tellusim.com/core/plugins/platform/opengl
This plugin provides access to all OpenGLES core functions. OpenGLES API calls can be utilized when necessary.
docs.tellusim.com/core/plugins/platform/opengles
This plugin enables reflection support for C++ API.
docs.tellusim.com/core/plugins/system/reflection
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
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 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
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
This plugin provides complete Swift language access for all classes and functions.
docs.tellusim.com/core/plugins/binding/swift
This plugin provides complete Java and Kotlin language access for all classes and functions.
docs.tellusim.com/core/plugins/binding/java
This plugin provides complete JavaScript language access for all classes and functions.
docs.tellusim.com/core/plugins/binding/javascript
Drawing geometry using native Direct3D12 API calls.
Drawing geometry using native Direct3D11 API calls.
Drawing geometry using native Metal API calls.
Cuda runtime API with buffer interop.
ROCm runtime API with buffer interop.
Using native D3D12 textures.
Cuda runtime API and texture interop.
Creating native Direct3D12 pipeline.
Creating native Vulkan pipeline.
Creating native Metal pipeline.
Embedding into the nativeal Direct3D12 native window application.
Embedding into the nativeal Direct3D11 native window application.
Embedding into the nativeal Metal native window application (MTKView).
Command-line interface to the Clay shader compiler.
docs.tellusim.com/core/tools/shader
Image conversion utility with batch processing support.
docs.tellusim.com/core/tools/image
Mesh conversion utility with batch processing support.
docs.tellusim.com/core/tools/mesh
Tool for generating embedded binary resources for applications.
docs.tellusim.com/core/tools/blob
Utility for generating project templates.
docs.tellusim.com/core/tools/project
Blue noise generation tool for stochastic sampling and rendering.
docs.tellusim.com/core/tools/noise
docs.tellusim.com/core/tutorials/13_hello_interop
docs.tellusim.com/core/tutorials/12_hello_controller
docs.tellusim.com/core/tutorials/11_hello_bindless
docs.tellusim.com/core/tutorials/10_hello_image/
docs.tellusim.com/core/tutorials/09_hello_controls/
docs.tellusim.com/core/tutorials/08_hello_canvas
docs.tellusim.com/core/tutorials/07_hello_splatting/
docs.tellusim.com/core/tutorials/06_hello_traversal/
docs.tellusim.com/core/tutorials/05_hello_tracing/
docs.tellusim.com/core/tutorials/04_hello_raster/
docs.tellusim.com/core/tutorials/03_hello_mesh/
docs.tellusim.com/core/tutorials/02_hello_compute
docs.tellusim.com/core/tutorials/01_hello_usdz
docs.tellusim.com/core/tutorials/00_hello_triangle
Access Tellusim Core SDK documentation online.
docs.tellusim.com/core
Join Tellusim Developer Forum to ask questions and explore community discussions.
forum.tellusim.com
Browse the offline C++ API reference for the Tellusim Core SDK.