Skip to main content

NanoVDB Editor

Prerequisities:

  • numpy

Running in Docker

To run the editor in the docker container, the Dockerfile needs to contain:

EXPOSE 8080

ENV NVIDIA_DRIVER_CAPABILITIES compute,graphics,utility

RUN apt-get update \
    && apt-get install -y \
    libxext6 \
    libegl1

Then run with the NVIDIA runtime selected (https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html):

docker run --runtime=nvidia --net=host --gpus=all ...

Hello World

import nanovdb_editor as nve

editor, compute, compiler = nve.create_default()

config = nve.EditorConfig()

# Default values, set as needed
config.ip_address = b"127.0.0.1"
config.port = 8080
config.headless = 0
config.streaming = 0

editor.show(config)
# editor.wait_for_interrupt()   # uncomment when streaming is enabled

Shader Parameters

Shaders can have defined struct with shader parameters which are intended to be shown in the editor's UI:

struct shader_params_t
{
    float4 color;
    bool use_color;
    bool3 _pad1;
    int _pad2;
};
ConstantBuffer<shader_params_t> shader_params;

Shader parameters can have defined default values in the json file:

{
    "ShaderParams": {
        "color": {
            "value": [1.0, 0.0, 1.0, 1.0],
            "min": 0.0,
            "max": 1.0,
            "step": 0.01
        }
    }
}

Supported types: bool, int, uint, int64, uint64, float and its vectors and 4x4 matrix. Variables with _pad in the name are not shown in the UI. Those parameters can be interactively changed with generated UI in the editor's Params tab.

To display a group of shader parameters from different shaders define a json file with various shader paths:

{
    "ShaderParams": [
        "editor/editor.slang",
        "test/test.slang"
    ]
}

Acknowledgements

This project makes use of the following libraries:

  • zlib – Compression library
  • c-blosc – High-performance compressor optimized for binary data
  • Vulkan-Headers – Vulkan API headers
  • Vulkan-Loader – Vulkan ICD loader
  • GLFW – Windowing, context, and input (optional)
  • Dear ImGui – Immediate-mode GUI
  • ImGuiFileDialog – File dialog for Dear ImGui
  • ImGuiColorTextEdit – Syntax-highlighted text/code editor widget
  • Slang – Shading language and compiler
  • filewatch – Cross-platform file watching
  • JSON for Modern C++ – JSON serialization for C++
  • cnpy – Read/write NumPy .npy/.npz files from C++
  • zstr – Transparent zlib iostream wrappers
  • llhttp – High-performance HTTP parser
  • Asio – Asynchronous networking and concurrency primitives
  • RESTinio – Lightweight HTTP server framework
  • fmt – Modern formatting library
  • argparse – Header-only argument parser for C++17
  • expected-lite – std::expected-like type for C++11/14/17
  • libE57Format – E57 point cloud IO (optional)
  • OpenH264 – H.264 encoder (optional)
  • GoogleTest – C++ testing framework

Many thanks to the authors and contributors of these projects.

Metadata

Release files for nanovdb-editor 0.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nanovdb-editor 0.1.6
File Size Uploaded
nanovdb_editor-0.1.6.tar.gz 25.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for nanovdb-editor 0.1.6
File
nanovdb_editor-0.1.6-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
nanovdb_editor-0.1.6-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
nanovdb_editor-0.1.6-py3-none-manylinux_2_35_x86_64.whl Python 3 none Linux glibc 2.35+ x86-64 Details
nanovdb_editor-0.1.6-py3-none-manylinux_2_34_aarch64.whl Python 3 none Linux glibc 2.34+ ARM64 Details
nanovdb_editor-0.1.6-py3-none-manylinux_2_27_x86_64.whl Python 3 none Linux glibc 2.27+ x86-64 Details
nanovdb_editor-0.1.6-py3-none-macosx_15_0_arm64.whl Python 3 none macOS 15.0+ ARM64 Details

Total release size: 313.4 MB

Release files / nanovdb_editor-0.1.6.tar.gz

Download URL nanovdb_editor-0.1.6.tar.gz
Size 25.6 kB
Tags Source
SHA-256 checksum
How to use checksums
5bfed0803c2f4f04dcbb11bf7f828ae358f1753271f82e2d71628a242b7ba349
BLAKE2b-256 checksum
How to use checksums
976c5baf823c7846647f8c3ec37d65344f81564c6e1a8b31babfb807562ba899
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / nanovdb_editor-0.1.6-py3-none-win_arm64.whl

Download URL nanovdb_editor-0.1.6-py3-none-win_arm64.whl
Size 15.5 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
7860b94f723ccf75b8d76d5c56894ed731781117b44496ebf2ee1032861d6ce7
BLAKE2b-256 checksum
How to use checksums
4b9d3ef9866f15285385da687cff0b9a9bd4c45c3ae5d45eae1e4d06576bbc69
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / nanovdb_editor-0.1.6-py3-none-win_amd64.whl

Download URL nanovdb_editor-0.1.6-py3-none-win_amd64.whl
Size 54.0 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
1eb3fcba24e85fac3b521ba604bed67254b98f8d50435f5c1df35a15e9f54e88
BLAKE2b-256 checksum
How to use checksums
6de62137a9598424193c01483cae9adad2ac87b259c0bb7c6f280ac22d7f0836
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / nanovdb_editor-0.1.6-py3-none-manylinux_2_35_x86_64.whl

Download URL nanovdb_editor-0.1.6-py3-none-manylinux_2_35_x86_64.whl
Size 75.3 MB
Tags Linux glibc 2.35+ x86-64 Python 3
SHA-256 checksum
How to use checksums
6ed5191e0b6f4845ca1bbd5a7d17c470231f8cdcbe365bf926ed96e96f81a93d
BLAKE2b-256 checksum
How to use checksums
2cfe5cea6b76f0738437add84f6ff168891a6b049f7f3559af61be1f22ee7294
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / nanovdb_editor-0.1.6-py3-none-manylinux_2_34_aarch64.whl

Download URL nanovdb_editor-0.1.6-py3-none-manylinux_2_34_aarch64.whl
Size 23.6 MB
Tags Linux glibc 2.34+ ARM64 Python 3
SHA-256 checksum
How to use checksums
4d7d319023a0c0c24a1833c7677341286f644919d9ac11e4681f7ea85e874e7b
BLAKE2b-256 checksum
How to use checksums
b077fb205b8d38f7e182e02f1e2862818971adad9872497c1b9715147d032cde
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / nanovdb_editor-0.1.6-py3-none-manylinux_2_27_x86_64.whl

Download URL nanovdb_editor-0.1.6-py3-none-manylinux_2_27_x86_64.whl
Size 81.1 MB
Tags Linux glibc 2.27+ x86-64 Python 3
SHA-256 checksum
How to use checksums
a46b6fa20c086f36d150672dff43f72f00646ddaca83eab3671b31ee3c9b0bcb
BLAKE2b-256 checksum
How to use checksums
8066a4c1a1d5b46e18b329bb9706517e66a2828563056c0dcd5b814190fb84c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / nanovdb_editor-0.1.6-py3-none-macosx_15_0_arm64.whl

Download URL nanovdb_editor-0.1.6-py3-none-macosx_15_0_arm64.whl
Size 63.9 MB
Tags Python 3 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
e85e79d3adcf091eb02eca1678858162f1f9eb050fc51af30915dff4e8cd6fd5
BLAKE2b-256 checksum
How to use checksums
1e23d5fb5e648fd7b310efa89d6724569abfdda820996e76bfb159cea4a9715f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

0.1.6 This release

7 release files

0.1.5

7 release files

0.0.24

6 release files

0.0.23

6 release files

0.0.19

4 release files

0.0.15

3 release files

0.0.13

3 release files

0.0.12

3 release files

0.0.9

3 release files

0.0.7

3 release files

0.0.6

3 release files

0.0.5

3 release files

0.0.4

3 release files

0.0.3

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page